我在我的數據庫中的列是[CusName], [CusNo], [CusAdvance], [TotalAmount], [ID]
和[CusItem]
。我輸入了要從textBox4.Text
中刪除的客戶名稱。 我修改了代碼,就像我從你們那裏得到的一樣。但仍然沒有刪除條目。他們仍然留在數據庫中。從OleDB C刪除數據#
我的代碼:
void Button1Click(object sender, EventArgs e)
{
try
{
OleDbConnection delConn = new
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:/NavneethCollection.accdb;Persist Security Info=False;");
delConn.Open();
String delQuery = "DELETE FROM NavColl WHERE [CusName]= @CustName";
OleDbCommand delcmd = new OleDbCommand();
delcmd.CommandText = delQuery;
delcmd.Connection = delConn;
delcmd.Parameters.AddWithValue("@CustName", textBox4.Text);
delcmd.ExecuteNonQuery();
MessageBox.Show("Customer has been successfully removed!");
}
catch(Exception exc)
{
MessageBox.Show("Error: "+exc.Message);
}
}
您的刪除應該是刪除FROM NavColl WHERE [CusName] ='某個名字'。您不必指定列。 –
DELETE列與Access一起工作。他們簡單地被忽略。文本框4中出現錯誤的可能性更大,並且沒有記錄被刪除。你可以嘗試讀取ExecuteNonQuery的返回值。如果它爲零,那麼WHERE語句沒有找到要刪除的記錄 – Steve
順便說一下,連接字符串不應該在數據和源之間進行拆分。任何額外的空格都會導致_Installable ISAM找不到_異常 – Steve