.net System.Data.SQLite.SQLiteException:数据库已锁定?

.net System.Data.SQLite.SQLiteException:数据库已锁定?,.net,vb.net,visual-studio,sqlite,.net,Vb.net,Visual Studio,Sqlite,我遇到了两个问题[注意:这是我第一次使用Visual Studio使用SQL进行编码] 我正在使用SQLite Server Compact toolbox和Nuget System.Data.SQLite-Version 1.0.106 每次我试图保存它时,都会不断向我发送此错误 System.Data.SQLite.SQLiteException:数据库已锁定 我正在尝试创建更新和删除按钮 这是我的更新按钮 私有子Bttn\u Update\u Clicksender作为对象,e作为事件ar

我遇到了两个问题[注意:这是我第一次使用Visual Studio使用SQL进行编码]

我正在使用SQLite Server Compact toolbox和Nuget System.Data.SQLite-Version 1.0.106

每次我试图保存它时,都会不断向我发送此错误

System.Data.SQLite.SQLiteException:数据库已锁定

我正在尝试创建更新和删除按钮

这是我的更新按钮

私有子Bttn\u Update\u Clicksender作为对象,e作为事件args处理Update\u Bttn.Click Dim cons=New-SQLiteConnectionuri=file:C:\Sqlite\Klinik\u NurzawatiDB.db;版本=3;池=真;最大池大小=100; 犯人,开门 如果TextBox2.Text=则 MsgBoxPlease插入一个文件系列,vbCritical,无法更新:缺少 ElseIf TextBox5.Text=然后 MSGBOX请插入文件组,vbInformation,必填项 文本框5.选择 其他的 尝试 Dim sql As String=UPDATE ClassTbl SET Series='&TextBox2.Text&',SubSeries='&TextBox3.Text&',Groups='&TextBox5.Text&',SubGroup='&TextBox4.Text&',ReferenceCode='&TextBox6.Text&',Separator='&TextBox7.Text&',ItemName='&TextBox1.Text&',其中ID='&TextBox9.Text&' Dim cmd As SQLiteCommand=New SQLiteCommandsql,cons cmd.ExecuteNonQuery msgbox已成功更新!,MsgBoxStyle.Information,文件状态 “^OK TextBox1.Text= TextBox2.Text= TextBox3.Text= TextBox4.Text= TextBox5.Text= TextBox6.Text= TextBox7.Text= TextBox8.Text= 特例 MsgBoxex.ToString 结束尝试 如果结束 端接头 这是我的删除按钮

私有子删除\u Bttn\u单击发件人作为对象,e作为事件args处理删除\u Bttn。单击 如果TextBox9.Text=则 MSGBOX请选择要删除的Id,VBEQUOTE,未选择文件 其他的 Dim con作为新的SQLiteConnectionuri=file:c:\sqlite\Klinik\u NurzawatiDB.db;版本=3 未结 结果是反应迟钝= MessageBox.Show 是否确实要删除此行?, 记录Lite:是否确认删除?, MessageBoxButtons.YesNo, MessageBoxIcon.问题, MessageBoxDefaultButton.Button2 如果response=DialogResult.No,则 'e.Cancel=True 出口接头 TextBox2.Text= 如果结束 将sql设置为字符串 sql=从ClassTbl中删除,其中ID类似于“&TextBox9.Text&” Dim cmd As SQLiteCommand=New SQLiteCommandsql,con cmd.ExecuteNonQuery 结案 msgbox成功,vbInformation,删除状态 如果结束 端接头 我总是在工作中遇到问题

cmd.ExecuteNonQuery


对于这两个按钮,有什么解决方案吗?我已经创建了相同的数据库,但仍然遇到这些问题

您的代码的问题是您没有在更新方法中关闭连接。你需要添加一个cons.Close。无论如何,在所有实现

的类中使用总是一个好主意。代码的问题是,您没有在更新方法中关闭连接。你需要添加一个cons.Close。无论如何,在所有实现

的类中使用总是一个好主意是的!我忘了在我的更新按钮上加上cons.close!谢谢你注意到了。抱歉,我的指导老师坚持使用这种方法,但我实际上只知道基本的SQL命令,如Select和From MS ACCESS。我认为在cmd.ExecuteNonQuery的正上方之前,您不应该打开连接。您正在向用户提问,他们可能在您的连接挂起或超时时去喝了杯咖啡。是的!我忘了在我的更新按钮上加上cons.close!谢谢你注意到了。抱歉,我的指导老师坚持使用这种方法,但我实际上只知道基本的SQL命令,如Select和From MS ACCESS。我认为在cmd.ExecuteNonQuery的正上方之前,您不应该打开连接。当您的连接挂起或超时时,他们可能会去喝杯咖啡。