我正在尝试在C#应用程序中使用SQLite,但我遇到了问题:
我遵循了这个指南: http://blog.tigrangasparian.com/2012/02/09/getting-started-with-sqlite-in-c-part-one/
我的代码是:
namespace MyDB
{
internal class SQLiteConnector_Local
{
private SQLiteConnection m_dbConnection;
public SQLiteConnector_Local() {
SQLiteConnection.CreateFile("MyDatabase.sqlite");
m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();
SQLiteCommand command = new SQLiteCommand("CREATE TABLE IF NOT EXISTS singleOptions (key_column VARCHAR(50), value_column VARCHAR(80))", m_dbConnection);
command.ExecuteNonQuery();
m_dbConnection.Close();
}
}
}
我有一个例外:
m_dbConnection.Open();
例外是:
An exception of type 'System.AccessViolationException' occurred in System.Data.SQLite.dll but was not handled in user code.
是的,必须处理异常,但我的主要问题是为什么我有这个例外?
我在其他问题中搜索了解决方案,但我还没找到。
答案 0 :(得分:0)
我发现了问题。在我之前的Windows安装中,SQLite在之前的类似项目中运行良好。我一直以为我的新代码有问题。
我仍然拥有以前Windows安装中使用的可执行文件,并且我检查过版本不一样(以前的可执行文件是捆绑版本)。
我已经卸载了SQLite库并重新安装了捆绑版本,现在它运行正常!