Modified:
branches/1.0/CHANGES
branches/1.0/TestSuite/LanguageTests.cs
branches/1.0/mysqlclient/Types/MySqlValue.cs
Log:
Bug #25651 SELECT does not work properly when WHERE contains UTF-8 characters
Fixed a problem where VarString parameters were not being treated as strings.
Modified: branches/1.0/CHANGES
===================================================================
--- branches/1.0/CHANGES 2007-01-17 22:16:25 UTC (rev 559)
+++ branches/1.0/CHANGES 2007-01-17 22:25:39 UTC (rev 560)
@@ -21,6 +21,7 @@
Bug #24802 Error Handling
Bug #25614 After connection is closed, and opened again UTF-8 characters are not read well
Bug #25625 Crashes when calling with CommandType set to StoredProcedure
+ Bug #25651 SELECT does not work properly when WHERE contains UTF-8 characters
Other changes
-------------
Modified: branches/1.0/TestSuite/LanguageTests.cs
===================================================================
--- branches/1.0/TestSuite/LanguageTests.cs 2007-01-17 22:16:25 UTC (rev 559)
+++ branches/1.0/TestSuite/LanguageTests.cs 2007-01-17 22:25:39 UTC (rev 560)
@@ -356,5 +356,40 @@
}
execSQL("DROP TABLE test_tbl");
}
+
+ /// <summary>
+ /// Bug #25651 SELECT does not work properly when WHERE contains UTF-8 characters
+ /// </summary>
+ [Test]
+ public void UTF8Parameters()
+ {
+ execSQL("DROP TABLE IF EXISTS test");
+ execSQL("CREATE TABLE test (id int(11) NOT NULL, " +
+ "value varchar(100) NOT NULL, PRIMARY KEY (id)) " +
+ "ENGINE=MyISAM DEFAULT CHARSET=utf8");
+
+ string conString = GetConnectionString(true) + ";charset=utf8";
+ try
+ {
+ using (MySqlConnection con = new MySqlConnection(conString))
+ {
+ con.Open();
+
+ MySqlCommand cmd = new MySqlCommand("INSERT INTO test VALUES (1, 'šđč枊ĐČĆŽ')", con);
+ cmd.ExecuteNonQuery();
+
+ cmd.CommandText = "SELECT id FROM test WHERE value = ?parameter";
+ cmd.Parameters.Add("?parameter", MySqlDbType.VarString);
+ cmd.Parameters[0].Value = "šđč枊ĐČĆŽ";
+ cmd.CommandTimeout = 0;
+ object o = cmd.ExecuteScalar();
+ Assert.AreEqual(1, o);
+ }
+ }
+ catch (Exception ex)
+ {
+ Assert.Fail(ex.Message);
+ }
+ }
}
}
Modified: branches/1.0/mysqlclient/Types/MySqlValue.cs
===================================================================
--- branches/1.0/mysqlclient/Types/MySqlValue.cs 2007-01-17 22:16:25 UTC (rev 559)
+++ branches/1.0/mysqlclient/Types/MySqlValue.cs 2007-01-17 22:25:39 UTC (rev 560)
@@ -160,6 +160,7 @@
case MySqlDbType.Set:
case MySqlDbType.Enum:
case MySqlDbType.Char:
+ case MySqlDbType.VarString:
case MySqlDbType.VarChar:
return new MySqlString(null, type);
| Thread |
|---|
| • Connector/NET commit: r560 - in branches/1.0: . TestSuite mysqlclient/Types | rburnett | 17 Jan |