我有一个WPF项目,我通过NuGet添加了SQL Lite。
我的主要目标是编写一个创建数据库的函数(如果它不存在),然后将记录写入其中。
它在我的电脑上工作正常,但在部署应用程序并在其他PC上运行后,它会立即崩溃。 (我将* .db文件添加到解决方案中,但它也没有帮助)
(我的问题是它错过了另一台PC上的SQL Lite中的* .dll文件)
我该怎么做才能让它在其他电脑上运行?
到目前为止我的代码:
string relativePath = @"getstarted.db";
SQLiteConnection conn = new SQLiteConnection("Data Source=" + relativePath);
conn.Open();
using (SQLiteCommand mCmd = new SQLiteCommand("CREATE TABLE IF NOT EXISTS [Test Table] (id INTEGER PRIMARY KEY AUTOINCREMENT, 'username' TEXT, 'password' TEXT);", conn))
{
mCmd.ExecuteNonQuery();
}
string Query = "insert into [Test Table](username, password) values('" + "testuser" + "','" + "testpassword" + "')";
SQLiteCommand insercommand = new SQLiteCommand(Query, conn);
insercommand.CommandType = CommandType.Text;
insercommand.ExecuteNonQuery();
答案 0 :(得分:0)
[解决]
基本上我改变了3件事。
我在解决方案中添加了x86和x64 SQLiteInterop.Dll-s。
我将connectionString更改为
string mDbPath = System.AppDomain.CurrentDomain.BaseDirectory +“getstarted.db”;
我将构造函数更改为
SQLiteConnection conn = new SQLiteConnection(“Data Source =”+ mDbPath,true);