关于varchar字段的空值问题

zftnt 2016-12-08 11:10:29
1、我在input里面什么都没有输入,但是录入数据库的时候,字段里什么都没有,也不显示null,这是为何?
2、要如何确认我input里面没有输入,数据库里能生成null?
3、
 Convert.ToDecimal(Jdt.Rows[i]["ZL1"] == string.Empty ? 0 : Jdt.Rows[i]["ZL1"]
这段代码判断字段为空,则赋值为0,为何赋值变为了1?我这个字段确实什么都没有,数据库里也不显示null
...全文
306 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zftnt 2016-12-08
  • 打赏
  • 举报
回复
不是指ZL1字段,后面的空字符字段,都是返回1,应该是0才对啊
zftnt 2016-12-08
  • 打赏
  • 举报
回复
如上图,应该是空字符,那么应该用string.Empty去判断,或者==“”这么判断应该可以吧,问题是我用这个代码:
Convert.ToDecimal(Jdt.Rows[i]["ZL1"] == "" ? "0" : Jdt.Rows[i]["ZL1"])
却返回1给我,这是为何?
  • 打赏
  • 举报
回复
Jdt.Rows[i]["ZL1"] is DBNull ? 0 : Convert.ToDecimal(Jdt.Rows[i]["ZL1"]);
我是飞云 2016-12-08
  • 打赏
  • 举报
回复
先确认数据库那里到底是空字符还是NULL,NULL的话用楼上的DBNull.Value string.IsNullOrEmpty去判断,应该符合你的需求
exception92 2016-12-08
  • 打赏
  • 举报
回复
字段里什么都没有 -》那就是空字符串了。 不要等于string.Empty 等于DBNull.Value

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧