2013-05-20 72 views
-1

這是代碼。我想它來更新這個使用0和koffekeys,一些它不能如何查找VAL ..c#mysql更新單行

 string Query = "UPDATE `users.db`.`userslogged` SET `uses`='0' WHERE `koffekeys`='@val'"; 
     string constring = "server=127.0.0.1;User Id=root;password=******;Persist Security Info=True;database=users"; 
     MySqlConnection conDatabase = new MySqlConnection(constring); 
     MySqlCommand cmdDataBase = new MySqlCommand(Query, conDatabase); 

     cmdDataBase.Parameters.AddWithValue("@val", this.textBox1.Text); 

     conDatabase.Open(); 
     cmdDataBase.ExecuteNonQuery(); 
     conDatabase.Close(); 
    } 
+0

哎喲...可能想要編輯您的數據庫的root密碼...永遠不要發佈真正的連接字符串! –

+0

什麼問題... –

+0

謝謝Evan,雖然它只是在一個虛擬的mysql服務器上。 馬丁的問題是爲什麼不能在文本框中看到@val值1 –

回答

2

爲什麼參數不工作的原因是因爲它是由單引號包圍。參數是標識符而不是字符串文字。

刪除單引號,它將工作。

string Query = @"UPDATE `users.db`.`userslogged` 
       SET `uses`='0' 
       WHERE `koffekeys` = @val"; 

當標識符用單引號括起來時,它不再是標識符,而是字符串文字。

+0

謝謝!它的固定,:) –

+0

不客氣':)' –