У меня есть ряд дополнительных входных параметров, которые я использую в методе класса С#. Поскольку необязательный синтаксис создает значение "0", когда параметр не используется, команда вставки SQL, которую я вызываю в методе, завершает вставку как таковую. Однако мне нужна команда для вставки значения NULL вместо 0, когда параметр не используется. Каков наилучший способ добиться этого, не используя большое количество "if" заявлений?
Ниже приведен код, на который я имею в виду. Есть ли синтаксис/некоторая команда, которая позволит мне указать значение NULL в объявлении SqlParameter?
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);