删除正在进行状态的 Sqlite 数据库文件

Delete Sqlite Database file which is in progress state

场景:我有一个包含大量数据的文本文件,这些数据使用 c# 插入到 sqlite table 中。我有两个事件(按钮),一个是 运行,第二个是停止,在 运行 按钮单击事件中,数据从 txt 文件插入到 sqlite,如果在我单击停止按钮之间我想要删除插入数据的文件。 如果有人请帮助我如何停止在停止按钮事件中插入记录。

您可以在删除事件中输入代码以中断使用 SQLITE_INTERRUPT 的查询。

请参阅以下描述 SQLITE_INTERRUPT 的 link:https://www.sqlite.org/c3ref/interrupt.html

我没有意识到这是一个 C 接口而不是 C# 但你可以这样做:

    SQLiteConnection conn = new SQLiteConnection();
    SQLiteCommand cmd;
    SQLiteTransaction transaction;

    private void runCommand()
    {
        using (conn = new SQLiteConnection(""))
        {
            using (transaction = conn.BeginTransaction())
            {
                //Do your work here
                cmd.CommandText = "SELECT * FROM TABLE...";
                transaction.Commit();
            }
        }
    }

    private void btn_cancel_Click(object sender, EventArgs e)
    {
        cmd.Cancel();

        //OR

        transaction.Rollback();
    }

声明并赋值

    int counter = 0;

在停止点击时将计数器值设置为 1

    private void btnStop_Click(object sender, EventArgs e)
    {
        ki = 1;
    }

在按钮 运行 方法中检查计数器值

     private void btnLoad_Click(object sender, EventArgs e)
      {
        try
        {
            Application.DoEvents();
         foreach (string line in File.ReadLines(txtInput.Text))
                    {
                        if (ki == 1)
                        {
                            return false;
                        }

                    ///Insert Query 
                     }
                 }