如何连接到本地数据库并更新C#中的数据集?

时间:2014-04-21 21:55:03

标签: c# wpf database visual-studio mdf

我在本地数据库文件中存储了一些产品(产品包含:唯一ID - 主键,名称,价格,数量)(Stock.mdf,产品表称为'表') 。

该文件位于Visual Studio中的项目文件夹中。当有人在表单(WPF)中调用操作时,应更新条目(新数量)。

在我的C#代码文件中,我使用以下代码连接到数据库:

System.Data.SqlClient.SqlConnection con;
con = new System.Data.SqlClient.SqlConnection();
con.ConnectionString = @"Data Source=.\SQLEXPRESS;
               AttachDbFilename=|DataDirectory|\Stock.mdf; |
               Integrated Security=True;
               Connect Timeout=30;
               User Instance=True";
//Do i need the connect timeout? Found it somewhere in the web

我知道我可以使用以下命令更新SQL中的表:

UPDATE table
SET Quantity=newQuantity
WHERE Id=GivenId;

如何连接到本地数据集并使用c#中的新数量更新产品?

2 个答案:

答案 0 :(得分:1)

首先,请使用using语句。他们将确保调用IDisposable.Dispose()

从记忆中写下:

string cs = @"Data Source=.\SQLEXPRESS;
           AttachDbFilename=|DataDirectory|\Stock.mdf; |
           Integrated Security=True;
           Connect Timeout=30;
           User Instance=True";

using (SqlConnection con = new SqlConnection(cs))
using (SqlCommand cmd = new SqlCommand("UPDATE table SET Quantity=@q WHERE Id=@Id", con))
{
    cmd.Parameters.AddWithValue("@q", newQuanity);
    cmd.Parameters.AddWithValue("@Id", GivenId);
    con.Open();
    cmd.ExecuteNonQuery();
}
  

我需要连接超时吗?发现它在网络的某个地方

在大多数情况下,默认设置都可以。

请注意,最好将连接字符串放在app.config(或web.config,用于Web应用程序)中。

<connectionStrings>
  <add name="MyConnectionName" connectionString="Data Source=.\SQLEXPRESS;
           AttachDbFilename=|DataDirectory|\Stock.mdf; |
           Integrated Security=True;
           Connect Timeout=30;
           User Instance=True" providerName="System.Data.SqlClient" />
</connectionStrings>

然后访问它:

string cs = 
  ConfigurationManager.ConnectionStrings["MyConnectionName"].ConnectionString;

答案 1 :(得分:0)

要在Microsoft Visual Studio中使用C#连接到Sql数据库,您必须手动添加System.Data.SqlSeverCe.dll名称参考,如下所示:

  • 右键点击您的项目&gt;&gt;&gt; 添加参考

  • 浏览&gt;&gt;&gt; C:\ Program Files \ Microsoft SQL server Compact edition \ v3.5 \ Desktop

  • 加载&gt;&gt;&gt; System.Data.SqlSeverCe.dll&gt;&gt;&gt; 添加