| Bug #62094 | char field mapped to System.String of MaxLength=3*len(char) in .NET/Connector | ||
|---|---|---|---|
| Submitted: | 5 Aug 2011 14:39 | Modified: | 29 Sep 2011 20:52 |
| Reporter: | River D | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / NET | Severity: | S2 (Serious) |
| Version: | 6.4.3 | OS: | Windows |
| Assigned to: | Fernando Gonzalez.Sanchez | CPU Architecture: | Any |
| Tags: | .net/connector, char, maxlength, System.String | ||
[5 Aug 2011 14:39]
River D
[5 Aug 2011 15:37]
Valeriy Kravchuk
Please, send the output of: show create table tbltest\G show variables like 'char%'; from your MySQL server. I wonder if utf8 character set is used.
[9 Aug 2011 3:14]
River D
Hi, Valeriy Kravchuk,
Apologize for late response.
It is sure I am using utf8 character set.
But I wonder this can cause problems in .NET programming.
Ex: I want to restrict MaxLength of all TextBoxes on a form by means of MaxLength of the bound text programmatically as follows:
private void setMaxLength()
{
foreach (Control c in this.Controls)
{
if (c is TextBox)
{
TextBox t = (TextBox)c;
string fld = t.DataBindings["text"].BindingMemberInfo.BindingField;
if (dataSet1.t1.Columns[fld].DataType.ToString() == "System.String")
t.MaxLength = dataSet1.t1.Columns[fld].MaxLength;
}
}
}
Since the varchar and char fields in MySQL are both reflected to a column DataType of "System.String", the corresponding MaxLength of the TextBox will be set to 3 times of the field length in MySQL.
Any suggestions?
[9 Aug 2011 6:06]
River D
Sorry, the corresponding MaxLength of the TextBox whose Text attribute is bound with a char field will be set to 3 times of the field length in MySQL.
[29 Sep 2011 20:52]
Fernando Gonzalez.Sanchez
Thank you for your bug report. This issue has already been fixed in the latest released version of that product, which you can download at http://www.mysql.com/downloads/ This was fixed in releases 6.2.6, 6.3.8, 6.4.4.
[29 Feb 2012 21:29]
John Russell
Added to changelog for 6.2.6, 6.3.8, 6.4.4: When creating a tableadapter through a Dataset form in Visual Studio, the MaxLength of the field for a CHAR column could be set to 3 times the length of the table column. Although this many bytes could be needed to hold a UTF-8 character value, the length value was not appropriate for restricting the length of a TextBox.
