C# 对数据库进行永久性更改

C# 对数据库进行永久性更改,c#,sql-server,windows,C#,Sql Server,Windows,我正在使用C#和MS SQL 2012开发windows桌面应用程序。我正在使用Visual Studio 2013 Ultimate。我正在使用configuration manager中的连接字符串 我的连接字符串: 数据源=(LocalDB)\v11.0;AttachDbFilename=| DataDirectory |\ABC_database.mdf;初始目录=ABCD项目;集成安全性=真 我现在已经将一些数据存储到数据库中,并创建了安装文件。在调试期间,当我从服务器资源管理器查看时

我正在使用C#和MS SQL 2012开发windows桌面应用程序。我正在使用Visual Studio 2013 Ultimate。我正在使用configuration manager中的连接字符串

我的连接字符串: 数据源=(LocalDB)\v11.0;AttachDbFilename=| DataDirectory |\ABC_database.mdf;初始目录=ABCD项目;集成安全性=真

我现在已经将一些数据存储到数据库中,并创建了安装文件。在调试期间,当我从服务器资源管理器查看时,我对数据所做的更改不会反映到数据库中

当我搜索时,许多建议指出这可能是由于复制到输出目录属性造成的。因此,我将其更改为:“如果更新,请复制”

另外,如果我想将数据永久存储到数据库中。如果我想重新安装我的应用程序,所有数据将永久保存到数据库中,当我重新安装应用程序时,它仍将包含所有数据

请给我建议一个适当可行的解决方案

我正在使用以下代码:

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(); 
      }
 } 

请尝试
SqlDataAdapter()
更新记录。将
SqlCommand
附加到
SqlAdapter.InsertCommand
属性,然后执行它,然后调用
SqlAdapter
对象上的Update作为参数给出表。这应该很神奇。关于。

您如何更改c代码中的数据?您如何与数据库建立连接?ADO.net?EntityFramework?@Mariocach我不知道你的意思,因为我不太了解这些概念。我已经附上了我正在使用的代码。请参考。我看正确。你看到什么错误了吗?在该块中放置断点并单步执行-确保它到达该块。不,没有错误。问题是,调试后保存的数据丢失。我不想丢失数据。如果我卸载应用程序并重新安装,我需要从停止的位置继续。我不想在每次运行应用程序时创建新的.mdf时再次输入数据?尝试将.mdf放置在bin目录以外的位置,并将连接字符串更改为绝对.mdf路径