.NET MySqlCommand @占位符与MySQL变量冲突

时间:2013-08-06 04:24:30

标签: c# mysql .net vb.net

这是一个示例SQL,为了这个问题。 (实际的SQL比这个更复杂)

SET @HELLO = 1;
SELECT @HELLO;

如你所见。 @HELLO是一个MySQL变量,但.NET MySQLCommand将其视为占位符,而不是绑定值。无论如何我可以在.NET中使用MySQL变量吗?

1 个答案:

答案 0 :(得分:3)

查看以下MySql.Data.MySqlClient.MySqlException: Parameter ‘@id’ must be defined

哪个州

  

最后,我发现这确实是.Net Connector的变化。   (我不确定版本号是什么,但从5.2.0开始将是我的   猜测)从连接器的5.2.2版开始,你应该添加   允许用户变量=真正的连接字符串设置以便   在SQL语句中使用用户定义的变量。

     

连接字符串示例:

 Database=testdb;Data Source=localhost;User Id=root;Password=hello;Allow User Variables=True