C# 一旦Windows窗体应用停止,SQLite数据库将不保存数据
我一直在尝试将SQLite数据库用于Winform C#项目 .db文件保存在我的项目目录中,我的代码可以很好地访问它。如果我输入值,它就会工作,如果我输入与它应该输入的相同的it错误 一旦我停止Windows窗体程序并再次启动它,我输入的所有数据都将被清除C# 一旦Windows窗体应用停止,SQLite数据库将不保存数据,c#,visual-studio,sqlite,C#,Visual Studio,Sqlite,我一直在尝试将SQLite数据库用于Winform C#项目 .db文件保存在我的项目目录中,我的代码可以很好地访问它。如果我输入值,它就会工作,如果我输入与它应该输入的相同的it错误 一旦我停止Windows窗体程序并再次启动它,我输入的所有数据都将被清除 问题-如何确保保存.db文件中的数据。我想我错过了一个场景 参考代码。已解决 通过该工具添加Sqlite数据库。第一次插入后,您是否检查了.db文件上的修改日期?在重新运行应用程序时,是否可能是在复制文件?我注意到我的.db文件与我的项
- 问题-如何确保保存.db文件中的数据。我想我错过了一个场景
参考代码。已解决
通过该工具添加Sqlite数据库。第一次插入后,您是否检查了.db文件上的修改日期?在重新运行应用程序时,是否可能是在复制文件?我注意到我的.db文件与我的项目位于同一目录中,这就是我的connectionstring所指向的。我在项目的调试文件夹中也有相同的db文件,那就是正在更新的文件。新问题,如何在解决方案内的调试中使用该文件,或者为什么它们不同时更新。可能重复:当我插入数据时,它会保存到以下数据库中:SQLLite\windowsformsap1\bin\Debug\demodab.db“但是,我的app.config文件使用连接字符串,因此当我选择时,它不会检索任何内容。可能尝试将连接字符串修改为
Data Source=demodab.db
。
using (SQLiteConnection cnn = new SQLiteConnection(LoadConnectionString()))
{
cnn.Open();
using (SQLiteTransaction transaction = cnn.BeginTransaction())
{
using (SQLiteCommand cmd = new SQLiteCommand(cnn))
{
SQLiteParameter IDParam = new SQLiteParameter();
SQLiteParameter NameParam = new SQLiteParameter();
cmd.CommandText = "INSERT into Person (ID, Name) VALUES (@ID, @Name)";
cmd.Parameters.AddWithValue("ID", 1);
cmd.Parameters.AddWithValue("Name", "Lewis");
i = cmd.ExecuteNonQuery();
}
transaction.Commit();
//cnn.Execute("insert into Person (ID, Name) values (1, 'Lewis')", person)
}
}