我有一個app.config和一個完美的連接字符串。什麼是正確的方法來添加子程序來處理C#中的連接字符串WPF
的App.config
<connectionStrings>
<add name="MyConnectionString"
connectionString="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=myDatabaseC;Data Source=agent_edx44-PC;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
我的形式
private void btnSave_Click(object sender, RoutedEventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
con.Open();
SqlCommand cmd = new SqlCommand("uspINSERT",con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
.....some code
}
private void bindDataGrid()
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
con.Open();
SqlCommand cmd = new SqlCommand("uspSELECTALL",con);
cmd.Connection = con;
...some code
}
我的問題是我想把這行代碼的子程序裏面,這樣我可以在任何方法調用它。
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
這是我迄今所做的:
private void MyConnection()
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
}
private void btnSave_Click(object sender, RoutedEventArgs e)
{
MyConnection()
con.Open();
SqlCommand cmd = new SqlCommand("uspINSERT",con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
.....some code
}
但它有一個錯誤說:
名稱「騙子」不當前存在背景
你在這裏有一些不好的代碼。大多數SQL對象實現'IDisposable',所以當你完成每個對象時,你必須使用'using'塊或調用'.Dispose()'。 – Enigmativity
@Enigmativity你能幫我用我的代碼嗎?我是新來的c# –