2010-03-18 66 views
2

我想在C#中對MySQL數據庫執行INSERT語句:致命錯誤一個MySQL INSERT

MySqlConnection connection = new MySqlConnection("SERVER=" + _dbConnection + ";" + 
    "DATABASE=" + _dbName + ";" + 
    "PORT=" + _dbPort + ";" + 
    "UID=" + _dbUsername + ";" + 
    "PASSWORD=" + _dbPassword + ";"); 
MySqlDataAdapter adapter; 
DataSet dataset = new DataSet(); 
command = new MySqlCommand(); 
command.Connection = connection; 
command.CommandText = "INSERT INTO plugins (pluginName, enabled) VALUES (@plugin,@enabled)"; 
command.Parameters.AddWithValue("@name", "pluginName"); 
command.Parameters.AddWithValue("@enabled", false); 
adapter = new MySqlDataAdapter(command); 
adapter.Fill(dataset); 

插件表由兩列組成:pluginName(VARCHAR(50))並啓用(布爾)。

這將失敗,錯誤:命令執行過程中遇到mysql致命錯誤。有關爲什麼會失敗的任何想法?

回答

4

您似乎在查詢中使用了@plugin,但在參數中使用了@name,但如果這是唯一的問題,那麼我希望有更好的錯誤消息!

+0

哇,謝謝。不能相信我錯過了! – Brian

+0

@Hiyasat:添加評論而不是編輯答案。 –

+0

如果你探索Exception的InnerException(它的例外......),你最終會發現問題的根源;在我的情況下,一個未定義的參數(拼寫錯誤)。 – fableal