无法通过 C# 中的 OleDB 从 Microsoft Access 中删除 table 的所有行
Couldn't delete all rows of a table from Microsoft Access via OleDB in C#
我有一个方法可以删除 table 中的所有数据。然而,即使被调用,删除也根本没有发生。
下面是方法。
假设数据已经加载到 table 中。
Table "CartListClone" 有 5 列(不包括 ID)。您在连接字符串中看到的 table 派生自 Access。
public void deleteEverything() {
OleDbConnection connect =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=POSDB.accdb;
Persist Security Info = False");
connect.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connect;
command.CommandText = "DELETE * FROM CartListClone";
}
到目前为止,我觉得问题的根源在于方法。
我在这里做错了什么吗?
非常感谢您的帮助。
更新:根据 sstan 的建议,下面是重写的方法。
public void deleteEverything() {
OleDbConnection connect =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=POSDB.accdb;
Persist Security Info = False");
connect.Open();
OleDbCommand command = new OleDbCommand("DELETE * FROM CartListClone");
command.Connection = connect;
command.ExecuteNonQuery();
}
您永远不会执行 command
对象。你在最后错过了这一行:
command.ExecuteNonQuery();
我有一个方法可以删除 table 中的所有数据。然而,即使被调用,删除也根本没有发生。
下面是方法。 假设数据已经加载到 table 中。 Table "CartListClone" 有 5 列(不包括 ID)。您在连接字符串中看到的 table 派生自 Access。
public void deleteEverything() {
OleDbConnection connect =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=POSDB.accdb;
Persist Security Info = False");
connect.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connect;
command.CommandText = "DELETE * FROM CartListClone";
}
到目前为止,我觉得问题的根源在于方法。 我在这里做错了什么吗? 非常感谢您的帮助。
更新:根据 sstan 的建议,下面是重写的方法。
public void deleteEverything() {
OleDbConnection connect =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=POSDB.accdb;
Persist Security Info = False");
connect.Open();
OleDbCommand command = new OleDbCommand("DELETE * FROM CartListClone");
command.Connection = connect;
command.ExecuteNonQuery();
}
您永远不会执行 command
对象。你在最后错过了这一行:
command.ExecuteNonQuery();