2017-08-31 30 views
1

我有一個帶有三個按鈕(保存,更新和刪除按鈕)的窗體。每次我點擊一個按鈕,它都會執行一個已定義的命令。我遇到的困難是更新按鈕無法正常工作。當我點擊它時,它會將數據庫中的所有元素更新爲一個單詞。請我需要幫助。 謝謝。我的更新按鈕在單擊按鈕時更改數據庫中的所有元素

 string nom = NomTxt.Text; 
     string prenom = preTxt.Text; 

     OleDbConnection con = new OleDbConnection(); 
     con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Rahimpamelo\Desktop\updatebd.accdb"; 
     OleDbCommand cmd = new OleDbCommand("UPDATE UpdateTB SET Nom='"+nom+"',Prenom='"+prenom+"'"); 
     cmd.Connection = con; 
     con.Open(); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
     MessageBox.Show("Update successfull"); 

enter image description here

+0

您正在尋找的'WHERE'在SQL關鍵字。 – David

回答

0

添加到您的SQL語句Where條款。

+0

謝謝。我沒有意識到 –

0

您的查詢缺少WHERE條款

UPDATE UpdateTB 
SET Nom='nom', Prenom='prenom' 

將更新每一行

你想要做什麼是

UPDATE UpdateTB 
SET Nom='nom', Prenom='prenom' 
WHERE $column = 'keyword' 

此外,查詢很容易受到SQL-Injections

0

你應該在哪裏您查詢條件

語法

UPDATE table_name的 SET列1 =值1,列2 =值2,... WHERE條件;

示例代碼:

OleDbCommand cmd = new OleDbCommand("UPDATE UpdateTB SET Nom='"+nom+"',Prenom='"+prenom+"' WHERE id='@User_ID'");