删除处于进行中状态的Sqlite数据库文件

本文关键字:Sqlite 数据库 文件 状态 进行中 删除 | 更新日期: 2023-09-27 18:23:43

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

删除处于进行中状态的Sqlite数据库文件

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

请参阅以下描述SQLITE_INTERRUPT的链接: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 
                     }
                 }