我在数据库中的列是[CusName], [CusNo], [CusAdvance], [TotalAmount], [ID]
和[CusItem]
。我从textBox4.Text
获取要删除的客户名称的输入。
我根据你们的所有内容修改了代码。但仍然没有删除条目。它们仍然留在数据库中。
我的代码:
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);
}
}
答案 0 :(得分:3)
在删除命令中,您应该只使用
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);
}
答案 1 :(得分:0)
尝试以下代码
您必须将?
作为参数名称而不是[CusName]
String delQuery = "DELETE FROM NavColl WHERE [CusName]= ?";
OleDbCommand delcmd = new OleDbCommand();
delcmd.CommandText = delQuery;
delcmd.Connection = delConn;
delcmd.Parameters.AddWithValue("?", textBox4.Text);
delcmd.ExecuteNonQuery();