gpt4 book ai didi

c# - 自动将 .Net null 转换为 DBNull.Value?

转载 作者:太空狗 更新时间:2023-10-29 23:47:57 26 4
gpt4 key购买 nike

我编写了一个实用程序来处理向手动滚动 sql 查询的数据参数添加值。消费样子

utility.Add("SELECT * FROM MyTable WHERE MyColumn = {0}", myVariable, DBType.TheType);

utility.Add("UPDATE MyTable SET MyColumn = {0}", myVariable, DBType.TheType);

应该如何处理 myVariable 的空值?

  1. 所有值(value)观都应该得到充分信任。责任完全由消费者承担。消费者如何知道无论如何都会处理 null?
  2. null 永远无法工作,因此它应该抛出 NullArgumentException。为什么要更进一步?
  3. null 应自动解释为 DBNull.Value,因为它是唯一可行的解​​决方案。这是一个实用程序,对吧?让它可用并干掉一些代码!

可选的附加问题:如果这些论点是由三位政治候选人提出的,他们的政党会是什么? (请说明此类当事人的祖国)

最佳答案

摇滚 Null Coalescing Op :

在您的添加中为 =... utility.Add("SELECT * FROM MyTable WHERE MyColumn {0}{1}", myVariable, DBType.TheType);

当您在 Add 方法中格式化字符串时: ... = String.Format(sql,myVariable 为 null ? "IS ": "= ", myVariable ?? "Null"

您可能想要对此进行详细说明,例如,坚持使用 on 参数并加入临时字符串构建器;可能还必须为类型使用 ?/: 构造,无论它在哪里使用。祝你好运。

关于c# - 自动将 .Net null 转换为 DBNull.Value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com