使用SQL Lite数据库进行C#部署以在其他PC上工作

时间:2018-04-25 13:33:53

标签: c# wpf sqlite deployment

我有一个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();

1 个答案:

答案 0 :(得分:0)

[解决]

基本上我改变了3件事。

  1. 我在解决方案中添加了x86和x64 SQLiteInterop.Dll-s。

  2. 我将connectionString更改为

    string mDbPath = System.AppDomain.CurrentDomain.BaseDirectory +“getstarted.db”;

  3. 我将构造函数更改为

    SQLiteConnection conn = new SQLiteConnection(“Data Source =”+ mDbPath,true);