【问题标题】:EntLib Way to Bind "Null" Value to ParameterEntLib 将“空”值绑定到参数的方法
【发布时间】:2010-11-18 04:04:21
【问题描述】:

我希望将 Null 值传递给参数,如下所示:

_db.AddInParameter(dbCommand, "Id", DBNull.Value, myContactPerson.Id);

我收到以下错误:

无法将“System.DBNull 转换为 System.Data.DbType”

我知道这个错误的含义。

但我需要为 myContactPerson.Id 提供空值

我怎样才能做到这一点?

【问题讨论】:

    标签: enterprise-library


    【解决方案1】:

    DBType 应该在该参数中传递,并且应该与您在数据库中比较的表的 dbtype(字符串、int 等)相匹配。您可以将值字段“myContactPerson.Id”替换为 DBNull.Value 以始终传递空值。

    【讨论】:

    • _db.AddInParameter(dbCommand, "Id", System.Data.DBType.Int32, 0);不要认为你可以将 null 传递给 Int db 类型......更好的选择是让它自动生成。
    【解决方案2】:

    如果myContactPerson.Id 不是自动编号,那么为什么不直接传递 0。

    【讨论】:

    • 是的。我通过传递零达到了这个结果。有时会以相反的方式思考。 :)
    • @rengaseshan:你专心致志。我一直这样做。我发现最好休息一下,当你不去想问题时,它就会来找你。 ;-)
    猜你喜欢
    • 1970-01-01
    • 2012-11-22
    • 2016-05-06
    • 2018-03-18
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    相关资源
    最近更新 更多