2013-08-06 42 views
0

這是一個示例SQL用於解決此問題。 (實際的SQL比這個更復雜).NET MySqlCommand @佔位符與MySQL變量衝突

SET @HELLO = 1; 
SELECT @HELLO; 

正如你所看到的。 @HELLO是一個MySQL變量,但.NET MySQLCommand將它看作是佔位符,而不是需要綁定值。無論如何,我可以使用MySQL的MySQL變量?

回答

3

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

這最後指出

,我發現,這的確是在.NET連接器的變化。 (我不知道什麼版本號,但從5.2.0開始將是我的 猜測)從連接器的版本5.2.2開始,您應該添加 允許用戶變量=真實連接字符串設置,以便 使用用戶在您的SQL語句中定義變量。連接字符串的

實施例:

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

添加 「允許用戶變量=真」 就像一個魅力。謝謝。 – invisal

+0

我需要4分鐘才能將其作爲答案。 – invisal