1

Microsoft Window アプリケーションで、app.config ファイルに接続コードを書きます。winform でアクセスすると、エラーが発生します。助けてください。

 private void btnInsert_Click(object sender, EventArgs e)
 {
     SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["mycon"]);

     cmd = new SqlCommand("USP_Insert_Students", con );
     cmd.CommandType = CommandType.StoredProcedure; 
     con.Open();

     cmd.Parameters.AddWithValue("@Stname", txtStname.Text);
     cmd.Parameters.AddWithValue("@class", txtClass.Text);
     cmd.Parameters.AddWithValue("@Section", txtSection.Text);
     cmd.Parameters.AddWithValue("@Address", txtAddress.Text);
     cmd.Parameters.AddWithValue("@states", cmdStates.SelectedText.ToString());
     cmd.ExecuteNonQuery();
    }
4

1 に答える 1

2

エラーがあります:myconは内部で定義されて<connectionStrings>いますが、 からロードしようとしています.AppSettings!

それは決してうまくいきません...

ConfigurationManager.ConnectionStrings["mycon"].ConnectionString代わりに使用する必要があります。

このコードを試してください:

private void btnInsert_Click(object sender, EventArgs e)
{
     string connectionString = ConfigurationManager.ConnectionStrings["mycon"].ConnectionString;

     using(SqlConnection con = new SqlConnection(connectionString))
     using(SqlCommand cmd = new SqlCommand("dbo.USP_Insert_Students", con))
     {
         cmd.CommandType = CommandType.StoredProcedure; 

         cmd.Parameters.AddWithValue("@Stname", txtStname.Text);
         cmd.Parameters.AddWithValue("@class", txtClass.Text);
         cmd.Parameters.AddWithValue("@Section", txtSection.Text);
         cmd.Parameters.AddWithValue("@Address", txtAddress.Text);
         cmd.Parameters.AddWithValue("@states", cmdStates.SelectedText.ToString());

         con.Open();
         cmd.ExecuteNonQuery();
         con.Close();        
     }
}
于 2012-06-08T11:31:43.750 に答える