无法通过 C# 中的 OleDB 从 Microsoft Access 中删除表的所有行
Posted
技术标签:
【中文标题】无法通过 C# 中的 OleDB 从 Microsoft Access 中删除表的所有行【英文标题】:Couldn't delete all rows of a table from Microsoft Access via OleDB in C# 【发布时间】:2015-11-14 20:09:42 【问题描述】:我有一个方法,我打算让它从表中删除所有数据。然而,即使它被称为,删除根本没有发生。
下面是方法。 假设数据已经加载到表中。 表“CartListClone”有 5 列(不包括 ID)。您可以在连接字符串中看到的表派生自 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();
【问题讨论】:
【参考方案1】:您永远不会执行 command
对象。你最后错过了这一行:
command.ExecuteNonQuery();
【讨论】:
以上是关于无法通过 C# 中的 OleDB 从 Microsoft Access 中删除表的所有行的主要内容,如果未能解决你的问题,请参考以下文章
通过 Oledb c# 防止重复数据从 Excel 到 db