2010-07-15 3 views
0

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

paramname1 value1
paramname2 значение2
paramname3 value3

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

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

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

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

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

Спасибо :-)

+0

Просьба описать декларацию хранимой процедуры. – garik

ответ

1

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

+0

Да, точно! Благодаря!! – grady

Смежные вопросы