C# クラス メソッドで使用しているオプションの入力パラメーターがいくつかあります。パラメータが使用されていない場合、オプションの構文は「0」の値を作成するため、メソッドで呼び出す SQL 挿入コマンドは、そのように挿入することになります。ただし、パラメーターが使用されていないときに、0 の代わりに NULL 値を挿入するコマンドが必要です。大量の「if」ステートメントを使用せずにこれを達成する最善の方法は何ですか?
以下は私が参照しているコードです。SqlParameter宣言でNULL値を指定できる構文/コマンドはありますか?
public int batchInsert
(
int id,
int outcome,
int input = 0,
int add = 0,
int update = 0,
int delete = 0,
int errors = 0,
int warnings = 0
)
{
string sts;
if (outcome == 0)
{
sts = "S";
}
else if (outcome == 1)
{
sts = "W";
}
else
{
sts = "E";
}
SqlConnection sqlConn = new SqlConnection(this.connString);
SqlParameter runId = new SqlParameter("@runId", id);
SqlParameter endTime = new SqlParameter("@endTime", DateTime.Now);
SqlParameter status = new SqlParameter("@status", sts);
SqlParameter sqlInput = new SqlParameter("@itemsRead", input);
SqlParameter sqlAdd = new SqlParameter("@add", add);
SqlParameter sqlUpdate = new SqlParameter("@update", update);
SqlParameter sqlDelete = new SqlParameter("@delete", delete);
SqlParameter sqlError = new SqlParameter("@errors", errors);
SqlParameter sqlWarning = new SqlParameter("@warnings", warnings);
SqlParameter result = new SqlParameter("@outcome", results[outcome]);
SqlCommand sqlComm = new SqlCommand(insertCommand(), sqlConn);