我想编写一个简单的代码行来删除某个表中的所有数据行。 (使用c#和MS Access 2010) 该表包含大约1000行,10列,并且有点慢。
此代码完成工作:
connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Words\shinunonDB.accdb;Persist Security Info=False;";
OleDbConnection Conn = new OleDbConnection();
Conn.ConnectionString = connStr;
sql = "select * from Heb";
Conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter(sql, Conn);
DataSet ds = new DataSet();
OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
da.Fill(ds, "Heb");
foreach (DataRow dRow in ds.Tables["heb"].Rows)
{
dRow.Delete();
}
da.Update(ds, "heb");
但我想可能会有一种更短更有效的方法。
谢谢你们。
答案 0 :(得分:8)
是的,有。只需使用SQL命令:
delete from Heb;
您可以在OleDbConnection上发出SQL命令。像这样:
OleDbCommand ac = new OleDbCommand("delete from Heb",Conn);
ac.ExecuteNonQuery();
答案 1 :(得分:0)
对我来说,它可以使用以下几行:
OleDbCommand ac = new OleDbCommand("delete from Heb",Conn);
ac.ExecuteNonQuery();
但是它会删除表中的所有数据,而不仅仅是一行。
当我这样做
conn.Open();
OleDbCommand cmd = new OleDbCommand("delete from Kunden where id=" + txtKdnID.Text + " ", conn);
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("Eintrag erfolgreich gelöscht");
我得到this error。