mysql语句问题,executeScalar()返回的是什么东西?说是object但是数据表里面

mysql语句问题,executeScalar()返回的是什么东西?说是object但是数据表里面,第1张

mysql语句问题,executeScalar()返回的是什么东西?说是object但是数据表里面

它是DBNull.Value,代表数据库中的NULL,但不是C#中的null

首先你的id在数据库中是什么类型的,若为数值型的则不需要加引号;第二DBNull是一个特殊的类型,它不等于任何值,所以不能通过result is DBNull来判断它是否为DBNull类型,而应通过Convert.IsDBNull(result)来判断

MSSQL MYSQL ORACLE中的null类型,在C#里统一都是DBNull。(其他的数据库没用过, 应该也是这样的)。

SQL查询的时候

string sql = "select * from T where 1=1 and nvl(字段,0)" 

//表示把表中某列的null值转成0查出来, 但是不改变源数据,相当于查的时候as了一下

C#中判断则需要:

if( dt.Rows[0]["字段"] == DBNull.Value) 

 // 

}

如果需要存一个null进入数据库, 也是要把参数赋值成DBnull.Value,然后insert或者update


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7680117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存