【问题标题】:Couldn't delete all rows of a table from Microsoft Access via OleDB in C#无法通过 C# 中的 OleDB 从 Microsoft Access 中删除表的所有行
【发布时间】: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();
    }

【问题讨论】:

    标签: c# ms-access oledb oledbconnection oledbcommand


    【解决方案1】:

    您永远不会执行 command 对象。你最后错过了这一行:

    command.ExecuteNonQuery();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多