尝试在C#中查询SQLite3数据库时出错

本文关键字:SQLite3 数据库 出错 查询 | 更新日期: 2023-09-27 18:29:43

我正在尝试使用以下代码以编程方式访问SQLite 3数据库:

private void button1_Click(object sender, EventArgs e)
{
    try
    {
        string connectionPath = @"Data Source=C:'temp'sms.db";
        SQLiteConnection connection = new SQLiteConnection(connectionPath);
        SQLiteCommand command = connection.CreateCommand();
        connection.Open();
        string query = "SELECT * FROM Message";
        command.CommandText = query;
        command.ExecuteNonQuery();
        SQLiteDataAdapter dataAdaptor = new SQLiteDataAdapter(command);
        DataSet dataset = new DataSet();
        dataAdaptor.Fill(dataset, "messages");
        dataGridView1.DataSource = dataset.Tables["messages"];
        connection.Close();
    }
    catch
    {
        MessageBox.Show("error", "error", MessageBoxButtons.OK);
    }
}

然而,每当我按下分配给这个代码的按钮时,它都不会出现在Try Catch上并显示我的消息框,它会冻结几秒钟,并在下面的行调试到Program.cs文件中

    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new frmMainWindow()); **<----This Line**
    }
}

在那一行,它会向我显示这个错误

无法加载文件或程序集"System.Data.SQLite,版本=1.0.76.0,区域性=中性,",PublicKeyToken=db937bc2d44ff139'或其依赖项之一
试图加载格式不正确的程序。

如何克服这个错误,以便查询数据库?

编辑

我的开发操作系统是Win 7 x64 Prof
我已安装:
64位Windows(.NET Framework 4.0)的设置
32位Windows(.NET Framework 4.0)的设置
来自heresystem.data.sqlite.org/index.html/doc/runk/www/downloads.wiki

尝试在C#中查询SQLite3数据库时出错

您正在使用什么dll?如果您在x64系统中,则必须使用SQLite 的x64 dll

由于某种原因,Visual Studio错误地引用了不同版本的System.Data.SQLite.dll

我删除了旧的引用,并将新的System.Data.SQLite.dll文件复制到以下位置:

C: ''Program Files(x86)''参考程序集''Microsoft''Framework.NETFramework''v4.0''Profile''Client

然后再次使用Visual Studio添加了对它的引用,现在它可以使用