【问题标题】:Calling a stored procedure with null parameters and SqlDataAdapter使用空参数和 SqlDataAdapter 调用存储过程
【发布时间】:2010-07-15 09:25:57
【问题描述】:

我有一个可以从我的 C# 代码中获取的存储过程。我正在传递一些我首先放入 HashTable 的参数。看起来是这样的:

参数名1 值1
参数名称2 值2
paramname3 value3

任何值都可以是null。所以现在我正在处理该哈希并将参数添加到适配器:

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

这可行,但是当我尝试填充数据集时,它失败了:

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

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

谢谢:-)

【问题讨论】:

  • 请描述存储过程声明。

标签: c# stored-procedures sqldataadapter


【解决方案1】:

我认为您必须检查其是否为 null 并将其设置为 DBNull.Value 而不是 null 否则它认为该参数丢失,因为它具有 null 值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-05
    • 2017-11-29
    • 2020-01-09
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    相关资源
    最近更新 更多