删除正在进行状态的 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
}
}
场景:我有一个包含大量数据的文本文件,这些数据使用 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
}
}