我正在尝试使用以下代码以编程方式访问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
并显示我的消息框,它会冻结几秒钟并调试到程序中。 cs文件在下面显示的行
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMainWindow()); **<----This Line**
}
}
然后在该行显示此错误
无法加载文件或程序集'System.Data.SQLite,Version = 1.0.76.0,Culture = neutral, PublicKeyToken = db937bc2d44ff139'或其依赖项之一 试图加载格式不正确的程序。
如何克服此错误,以便查询数据库?
我的开发操作系统是Win 7 x64教授
我安装了:
64位Windows(.NET Framework 4.0)的设置
32位Windows(.NET Framework 4.0)的设置
从这里system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
答案 0 :(得分:2)
你用的是什么?如果您使用的是x64系统,则必须使用SQL64的x64 dll
答案 1 :(得分:2)
由于某种原因,Visual Studio错误地引用了不同版本的System.Data.SQLite.dll
我删除了旧引用,并将新的System.Data.SQLite.dll文件复制到以下位置:
C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client
然后再次使用Visual Studio添加对它的引用,它现在可以正常工作