Вызов хранимой процедуры с нулевыми параметрами и SqlDataAdapter - PullRequest
0 голосов
/ 15 июля 2010

У меня есть хранимая процедура, которую я не могу из своего кода C #. Я передаю некоторые параметры, которые я сначала помещаю в HashTable. Это выглядит так:

имя_параметра1 значение1
имя_параметра2 значение2
имя_параметра3 значение3

Любое из значений может быть null . Итак, теперь я прохожу этот хеш и добавляю параметры в адаптер:

foreach (DictionaryEntry entry in myHash)
{
    adapter.SelectCommand.Parameters.AddWithValue(entry.Key.ToString(), entry.Value);
}

Это работает, но когда я пытаюсь заполнить DataSet, происходит сбой:

DataSet reportDataSet = new DataSet();
adapter.Fill(reportDataSet);

Сообщение об ошибке состоит в том, что он жалуется на отсутствующий параметр процедуры. Идеи?

Спасибо: -)

1 Ответ

2 голосов
/ 15 июля 2010

Я думаю, вы должны проверить, является ли оно null и установить его на DBNull.Value вместо null, в противном случае он считает, что параметр отсутствует, так как имеет значение null.

...