0

我将如何对 .TPS 数据库进行批量记录删除?

我一直在尝试使用C# 中的 ODBC V4 Topspeed 驱动程序,但是每次执行删除命令时,程序都会开始挂起,或者如果我在 cmd.ExecuteNonQuery() 之后添加代码以关闭数据库 (cnn.Close())方法,程序崩溃并出现以下错误:程序“[12345] abcdefg.exe”已退出,代码为-1073741819(0xc0000005)“访问冲突”。. 注意:执行这些操作时关闭 Topscan。(我已经成功使用 SELECT 查询,所以连接字符串等是正确的)

通过 ODBC Topspeed 驱动程序的 SQL 命令示例:“DELETE FROM table WHERE column = '12345'”

删除命令示例:

public void deleteCommand(string sqlCommand)
    {
        try
        {
            string connectionString = database_a_string;
            OdbcConnection cnn = new OdbcConnection(connectionString);
            cnn.Open();
            OdbcCommand cmd = new OdbcCommand(sqlCommand, cnn);
            cmd.ExecuteNonQuery();
            cnn.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Topspeed error: " + ex, "Delete Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

也许我可以改用 Topscan?但我只看到了一种单独删除记录的方法。该数据库有超过 900 000 条记录。

编辑:我能够使用相同的方法格式成功执行插入命令。我有预感 OBDC V4 Topspeed 驱动程序导致“访问冲突”错误。

4

0 回答 0