Bug #26041 Connection Protocol Property Error in PropertyGrid Control
| Submitted: | 2 Feb 2007 16:50 | Modified: | 20 May 2007 6:17 |
|---|---|---|---|
| Reporter: | Sean Wright | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / NET | Severity: | S3 (Non-critical) |
| Version: | 5.0.3 | OS: | Windows (XP) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | propertygrid | ||
[2 Feb 2007 17:26]
Sean Wright
Additional change made: case Keyword.Protocol: ConnectionProtocol = ConvertToProtocol(value); break; case Keyword.Protocol: ConnectionProtocol = (MySqlConnectionProtocol) value; break; This works to a certain degree. No more errors, the property is changed but not displayed in the propertygrid.
[2 Feb 2007 18:13]
Sean Wright
I found other properties that threw errors as well. I have corrected them. Still have a problem displaying the Driver Type and Connection Protocol in the propertygrid even though the properties are changed. See attached file for corrections
[2 Feb 2007 18:14]
Sean Wright
MySQLConnectionStringBuilder modified code
Attachment: MySqlConnectionStringBuilder.cs (application/octet-stream, text), 27.14 KiB.
[9 Feb 2007 15:51]
Sean Wright
Ok, then connector (specifically the MySQLConnectionStringBuilder) will now work properly in a propertygrid control. Can someone please verify the newly submitted code conforms to project standards?
[9 Feb 2007 15:52]
Sean Wright
Final working code on MySQLConnectionStringBuilder, allowing object to be used in a PropertyGrid control
Attachment: MySqlConnectionStringBuilder.cs (application/octet-stream, text), 28.08 KiB.
[7 Apr 2007 18:42]
Tonci Grgin
Sean, thanks for your report and patch provided. I will notify c/NET team of it. Either I have problems with my machine configuration or with your test case (or both :) ) but I'm unable to extract any cs that passes "cs.ProviderName == "Mysql.Data.MySQLClient" " condition but I can see your point in code. So I'll make this report "Verified" and let Reggie decide. Thanks for your interest in MySQL.
[10 May 2007 21:13]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/26472
[10 May 2007 21:14]
Reggie Burnett
Fixed in 5.0.7
[20 May 2007 6:17]
MC Brown
A note has been added to the 5.0.7 changelog.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.043 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: When the propertygrid selectedObject property points to a MysqlConnectionStringBuilder object, attempting to change the Connection Protocol property produces the error: "Property value is not valid" Same problem occurs when attempting to change the Driver Type property. How to repeat: Run this code: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Configuration; using MySql.Data.MySqlClient; namespace stringbuildertest { public partial class Form1 : Form { MySqlConnectionStringBuilder csb = new MySqlConnectionStringBuilder(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Configuration machineConfig = ConfigurationManager.OpenMachineConfiguration(); ConnectionStringsSection csSection = machineConfig.ConnectionStrings; for (int i = 0; i < ConfigurationManager.ConnectionStrings.Count; i++) { ConnectionStringSettings cs = csSection.ConnectionStrings[i]; if (cs.ProviderName == "Mysql.Data.MySQLClient") { csb.Clear(); csb.ConnectionString = cs.ConnectionString; propertyGrid1.SelectedObject = csb; } } } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(csb.ConnectionString); } } } Suggested fix: First, the GetKey routine must be modified by adding two statements: case "connection protocol": -> insert after the case "protocol": statement case "driver type": -> insert after the case "driver": statement This eliminates the invalid property error, however now exceptions are thrown in both ConvertToProtocol and ConvertToDriverType routines. I suspect the error lies in the conversion routines.