C# 有没有一种方法可以使用c和MS Access删除表中的所有行?
我想编写一个简单的代码行,删除某个表中的所有数据行。 使用c和MS Access 2010 该表包含大约1000行10列,速度有点慢 此代码执行以下任务:C# 有没有一种方法可以使用c和MS Access删除表中的所有行?,c#,database,ms-access,C#,Database,Ms Access,我想编写一个简单的代码行,删除某个表中的所有数据行。 使用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
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");
但我想可能有一种更短更有效的方法
谢谢你们。是的,有。只需使用SQL命令:
delete from Heb;
您可以对OLEDB连接发出SQL命令。大概是这样的:
OleDbCommand ac = new OleDbCommand("delete from Heb",Conn);
ac.ExecuteNonQuery();
是的,有。只需使用SQL命令:
delete from Heb;
您可以对OLEDB连接发出SQL命令。大概是这样的:
OleDbCommand ac = new OleDbCommand("delete from Heb",Conn);
ac.ExecuteNonQuery();
对我来说,它使用以下行工作:
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");
我明白了。对我来说,它使用以下行工作:
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");
我明白了。谢谢,太完美了!但有一个问题-没有可用的Execute命令。我应该使用ExecuteOnQuery吗?有什么区别?再次感谢。@Bobcat100是的,您应该使用ExecuteOnQuery。不同之处在于,这种方法是存在的,而Execute是Pablo Santa Cruz不完美内存的产物。更有用的是,我要补充一点,ExecuteOnQuery用于不从数据库检索数据的SQL语句:其整数返回值指示受命令影响的行数。ExecuteScalar从数据库返回单个值,例如,使用“select min Name from USCoins”调用ExecuteScalar将返回字符串“dime”。当然,最后,ExecuteQuery以DbDataReader的形式返回一组行。ExecuteQuery和DbDataReader是phoog不完善内存的产物。他们是ExecuteReader和OLEDB数据阅读器。谢谢,太完美了!但有一个问题-没有可用的Execute命令。我应该使用ExecuteOnQuery吗?有什么区别?再次感谢。@Bobcat100是的,您应该使用ExecuteOnQuery。不同之处在于,这种方法是存在的,而Execute是Pablo Santa Cruz不完美内存的产物。更有用的是,我要补充一点,ExecuteOnQuery用于不从数据库检索数据的SQL语句:其整数返回值指示受命令影响的行数。ExecuteScalar从数据库返回单个值,例如,使用“select min Name from USCoins”调用ExecuteScalar将返回字符串“dime”。当然,最后,ExecuteQuery以DbDataReader的形式返回一组行。ExecuteQuery和DbDataReader是phoog不完善内存的产物。它们是ExecuteReader和OleDbDataReader。