c# - 插入空值或小数

标签 c# mysql sql sql-server

如果我们正在使用 boolean 和 SQL bit,您可以像这样指定以在 SQL 表上插入..

oHotel.active ? 1 : 0

我有一个类似的情况,但我必须检查一个十进制值

decimal.MaxValue

当我必须插入一个空值时,如果它不是 maxValue 我必须插入他的值..

supplement.amount == decimal.MaxValue ? DBNull.Value : supplement.amount

但是不工作,它告诉我不能将空值转换为小数..

有人知道这样一个简短的工作方式吗?该值可以是 sql 表中的 null..

最佳答案

first_expressionsecond_expression 的类型必须相同,或者必须存在从一种类型到另一种类型的隐式转换。MSDN

我认为您不能直接使用 DBNULL 作为您的第一个表达式。

      decimal? nullval = null;  
       or
      decimal? nullval = Convert.ToDecimal(DBNull.Value);
      supplement.amount == decimal.MaxValue ? nullval : supplement.amount

关于c# - 插入空值或小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18961840/

相关文章:

c# - MySQLDataReader 仅在行数较多时循环一次

mysql - 给定特定的月份和年份,如何获得一个月的天数?

php - 从多个表中选择并返回全部

c# - LINQ 连接查询返回匹配的记录

c# - C# 中带附件的 SOAP (SwA)

c# - Kendo.Mvc.dll 的 NuGet

php - 获取子记录较少的MySQL记录

sql将2列的输出合并为一列

sql - 错误 : ERROR: table name specified more than once

c# - 在 C# 中从 context.httprequest 读取原始数据