在C#中使用SQLite连接

时间:2015-09-07 13:38:32

标签: c# sqlite

我正在尝试在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.

是的,必须处理异常,但我的主要问题是为什么我有这个例外?

我在其他问题中搜索了解决方案,但我还没找到。

1 个答案:

答案 0 :(得分:0)

我发现了问题。在我之前的Windows安装中,SQLite在之前的类似项目中运行良好。我一直以为我的新代码有问题。

我仍然拥有以前Windows安装中使用的可执行文件,并且我检查过版本不一样(以前的可执行文件是捆绑版本)。

我已经卸载了SQLite库并重新安装了捆绑版本,现在它运行正常!