0

これが私の接続方法です

SqlConnection conn = new SqlConnection(connectionstring);
conn.open();

SqlCommand comando = new SqlCommand(/*my query update/delete/insert/select o execute sp*/,conn);
comando.Parameters.Add("@parameter1","value1")
comando.Parameters.Add("@parameter2","value2")
comando.Parameters.Add("@parameterN","valueN")
comando.ExecuteNonQuery()

conn.close();

しかし、サーバー管理者は、多くの接続があると言います。

次に、クエリを実行するにはどうすればよいですか?

接続を閉じない方がよいでしょうか?

4

3 に答える 3

2

いいえ、接続を開いたままにしておくのは良くありません。"using" コマンドを使用して、システム リソースを管理します。

using(SqlConnection conn = new SqlConnection(stringconection))
{
    conn.Open();
    SqlCommand comando = new SqlCommand(/*my query update/delete/insert/select o execute sp*/,conn);
    comando.Parameters.Add("@parameter1","value1");
    comando.Parameters.Add("@parameter2","value2");
    comando.Parameters.Add("@parameterN","valueN");
    comando.ExecuteNonQuery();
}
于 2013-04-02T16:48:20.383 に答える
0

上記の Mark のように "using" を使用できます (私の好み)。try-catch-finally ブロックを使用することもできます。

try
{
    SqlConnection conn = new SqlConnection(stringconection);

    conn.Open();

    SqlCommand comando = new SqlCommand(/*my query update/delete/insert/select o execute sp*/,conn);
    comando.Parameters.Add("@parameter1","value1");
    comando.Parameters.Add("@parameter2","value2");
    comando.Parameters.Add("@parameterN","valueN");
    comando.ExecuteNonQuery();
}
catch(Exception ex) 
{
   // catch exceptions here 
}
finally
{
    if(comando != null)
    {
        comando.Dispose();
    }
    if(conn != null)
    {
        conn.Dispose();
    }
}
于 2013-04-02T17:06:32.423 に答える