我在本地数据库文件中存储了一些产品(产品包含:唯一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#中的新数量更新产品?
答案 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; 添加强>