我正在努力解决我的应用程序出现的错误。基本上我在尝试从 SQLite 查询填充数据集时遇到随机错误。我可以处理这样一个事实,即它可能并不总是从 SQLite DB 返回结果,因为表可能被锁定等,但我的代码一直失败并且我无法捕获错误:
我的代码如下所示:
Dim ExQry As New SQLiteCommand(QryString, SQLConnect)
ExQry.CommandType = CommandType.Text
Dim da As New SQLiteDataAdapter(ExQry)
dasSpice.Clear()
Try
da.Fill(dasSpice, "Calls") 'Error occurs on this line
Catch ex As SQLiteException
基本上发生的事情是我的代码将到达 da.fill(dasSpice, "Calls") 语句并引发错误:
System.Data.SQLite.dll 中出现“System.Runtime.InteropServices.SEHException”类型的第一次机会异常
但是,这个错误没有在 catch 语句中捕获,而是我的代码将直接跳到 cell_formatting 事件并尝试用空数据填充我的 gridview。我的 form_load 事件的一部分是关闭并填充 dasSpice 数据集,然后返回以填充另一个数据集并最终更新 gridview。但是,因为它在 dasSpice 数据集上爆炸了,所以它永远不会返回填充第二个数据集,因此给了我一个空的 gridview。
无论如何我可以捕捉到这个错误,或者让我的代码返回到 form_load 事件以继续处理其余的代码?如果需要,我可以提供更多细节。
任何帮助将不胜感激,因为我对此完全不知所措。谢谢