【发布时间】:2017-03-25 14:11:55
【问题描述】:
我正在使用 C# 和 MS SQL 2012 开发 Windows 桌面应用程序。我正在使用 Visual Studio 2013 Ultimate。我正在使用配置管理器中的连接字符串。
我的连接字符串: 数据源=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\ABC_database.mdf;初始目录=ABCDProject;Integrated Security=True
我现在已经将一些数据存储到数据库并创建了设置文件。在调试期间,我对数据所做的更改不会反映到数据库中,因为我从服务器资源管理器中查看。
当我搜索时,许多建议表明这可能是由于复制到输出目录属性。因此我将其更改为:“如果较新则复制”
另外,如果我想将数据永久存储到数据库中。如果我想重新安装我的应用程序,所有数据将永久保存到数据库中,当我重新安装应用程序时,它仍将包含所有数据。
请给我建议适当的、可行的解决方案。
我正在使用以下代码:
private void saveUser()
{
using (SqlConnection con = new SqlConnection(conn))
using (SqlCommand cmd = new SqlCommand("INSERT INTO USERS (id, password, date, status) VALUES (@id, @password, @date,'NEW USER')", con))
{
cmd.Parameters.AddWithValue("id", id);
cmd.Parameters.AddWithValue("password", password);
cmd.Parameters.AddWithValue("date", date);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
【问题讨论】:
-
你是如何从你的 c# 代码中改变数据的?你是如何连接到数据库的? ADO.net?实体框架?
-
@mariocatch 我不确定你的意思,因为我不太了解这些概念。我附上了我正在使用的代码。请参考。
-
对我来说看起来是正确的。您是否看到任何错误?在该块中放置一个断点并单步执行它 - 确保它到达它。
-
不,没有错误。问题是,调试后保存的数据丢失了。我想丢失数据。如果我卸载应用程序并重新安装,我需要从我停止的地方继续。我不想再次提供数据
-
您是否在每次运行应用程序时都创建一个新的 .mdf?尝试将 .mdf 放在 bin 目录之外的某个位置,并将连接字符串更改为 .mdf 绝对路径
标签: c# sql-server windows