这就是问题:无论我做什么,我都无法让MySqlCommand真正做好准备.我尝试从http://dev.mysql.com/doc/refman/5.6/en/connector-net-programming-prepared.html复制/粘贴示例代码,只做了很小的修改,但这实际上并不起作用.
我搜索谷歌尝试找到一个解决方案,但最接近的是:MySql语句准备"不坚持",实际上没有回答问题.
这是我测试的表格设置:
CREATE TABLE `test`.`test_prepared_query` (
`id` INT NOT NULL ,
`value` INT NOT NULL ,
PRIMARY KEY (`id`) );
Run Code Online (Sandbox Code Playgroud)
用C#测试代码
public void TestPrepareQuery()
{
connString = new MySqlConnectionStringBuilder();
connString.Server = "localhost";
connString.Database = "test";
connString.UserID = "someuserid";
connString.Password = "somepassword";
bool isprepared;
using (MySqlConnection conn = new MySqlConnection(connString.ToString()))
{
MySqlCommand cmd = new MySqlCommand(
"INSERT INTO test_prepared_query VALUES (@id, @value)", conn);
cmd.Connection.Open();
cmd.Prepare();
isprepared = cmd.IsPrepared; // isprepared is false here
cmd.Parameters.AddWithValue("@id", …
Run Code Online (Sandbox Code Playgroud)