删除处于进行中状态的Sqlite数据库文件
本文关键字:Sqlite 数据库 文件 状态 进行中 删除 | 更新日期: 2023-09-27 18:23:43
场景:我有一个文本文件,其中包含大量数据,这些数据使用c#插入到sqlite表中。我有两个事件(按钮),一个是运行,第二个是停止,在运行按钮点击事件中,数据从txt文件插入到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
}
}