2017-08-31 11 views
1

3つのボタン(保存、更新、削除ボタン)を持つフォームがあります。ボタンをクリックするたびに、定義されたコマンドが実行されます。私が持っている困難は、更新ボタンが正しく動作しないということです。私がクリックすると、データベース内のすべての要素が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

あなたのクエリが何をしたいことも

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

で、クエリがSQL-Injectionsに対して脆弱であるすべての行

更新しますWHERE

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

が不足しています。

0

あなたがすべきところ、クエリの条件

構文

UPDATE table_nameの SETのCOLUMN1 = VALUE1、COLUMN2 =値2、... WHERE条件。

サンプルコード:あなたが探している

OleDbCommand cmd = new OleDbCommand("UPDATE UpdateTB SET Nom='"+nom+"',Prenom='"+prenom+"' WHERE id='@User_ID'"); 
関連する問題