0

我有一个存储过程,我可以从我的 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);

错误消息是它抱怨缺少过程参数。想法?

谢谢 :-)

4

1 回答 1

3

我认为您必须检查它是否并将其null设置为DBNull.Valuenull否则它会认为参数丢失,因为它有一个null值。

于 2010-07-15T09:32:04.193 回答