2012-07-30 42 views
-3
 OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\SummerJob\DataBase.accdb"); 
     string cmdtxt = "UPDATE Students SET S_Name = ?, S_Surname = ?, S_E-Mail = ? WHERE ID = ?"; 
     OleDbCommand cmd = new OleDbCommand(cmdtxt, vcon); 
     cmd.CommandType = CommandType.Text; 
     cmd.Parameters.AddWithValue("S_Name", EditName.Text); 
     cmd.Parameters.AddWithValue("S_Surname", editSurname.Text); 
     cmd.Parameters.AddWithValue("S_E-Mail", editMail.Text); 
     vcon.Open(); 
     cmd.ExecuteNonQuery(); 
     vcon.Close(); 

更新訪問數據庫中的數據//我用這個代碼,但它說語法錯誤在更新語句我如何使用C#2010

回答

1

哪裏是最後一個參數???

ID=? 

不確定,但我敢打賭,沒有這個參數你的查詢看起來不正確的解析器。

+0

ID是要編輯的行的權利?我是新的,我現在不是那麼多,我只是做了這個教程。 – 2012-07-30 11:40:50

+0

if(StudentList.SelectedItems.Count> 0) { this.index = StudentList.SelectedIndices [0]; } – 2012-07-30 11:42:20

+0

我可以使用索引作爲ID如果我使用listview來顯示數據庫成員 – 2012-07-30 11:43:27

0

你需要通過ID?通過SqlParameter像這樣cmd.Parameters.AddWithValue(「ID」,Id.Text);

還要確保參數按照它們出現的相同順序添加

+0

waht確實ID參數代表什麼?它是行編輯或什麼? – 2012-07-30 11:46:08

+0

ID是學生表的Id列,所以學生表中的每一行都有唯一的ID,這是一個主鍵 – HatSoft 2012-07-30 11:47:49

+0

例如,我想編輯我在列表視圖中選擇的行,並且我想通過它們的名稱將它們的值傳遞給texboxes editname editsurname和editmail。我應該怎麼做,應該是什麼代碼,然後將更新的數據存儲在數據庫名稱的列表視圖os studenList – 2012-07-30 11:54:55