1

ストアド プロシージャを使用してテーブルの 1 つをクエリします

これが私が持っている方法の例です。それが最も十分な方法であることを確認したいと思います.10000のリクエストの場合、過熱を引き起こさず、接続を適切に閉じます。

public DataSet GetDetailsByUserId(int userid)
{
    var arParms = new SqlParameter[1];
    arParms[0] = new SqlParameter("@UserID", SqlDbType.Int) { Value = userid };
    var dt = SqlHelper.ExecuteDataset(ConfigurationManager.AppSettings["ConnectionString"], CommandType.StoredProcedure, "StoredProcedureName", arParms);
                return dt.Tables.Count == 0 ? null : dt;

}
4

1 に答える 1

2

あなたのコードは問題ありません。接続プーリングが利用されます。これにより、リクエストごとに新しい接続を作成して破棄する必要がなくなります。

ただし、ExecuteDataSet はテーブルではなく DataSet を返すため、var dt =var DSに名前変更することを強くお勧めします。

var DS = SqlHelper.ExecuteDataset(ConfigurationManager.AppSettings["ConnectionString"], CommandType.StoredProcedure, "StoredProcedureName", arParms);

return DS.Tables.Count == 0 ? null : dt; // Dataset owns 1 or more tables...
于 2011-05-14T16:58:16.427 に答える