如何获取SQL数据库中NULL值的类型

jstzcl007 2009-04-16 10:44:30
在SQL Server数据库中有一列Name是字符串,现在设置为空值NULL。在C#中用MessageBox.Show(表名.列名.Name.GetType().ToString())来获取某行该列数值类型时出错,说无法将"System.DBNull"类型转换为"System.String"类型,我只是想获取类型,并没有转为String,为何会这样?
...全文
229 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jstzcl007 2009-04-16
  • 打赏
  • 举报
回复
我想实现:如果Name列数值是NULL或者是空字符串""时,出现提示。但现在在判断NULL值时始终出错,该如何写这个if语句?
wxg22526451 2009-04-16
  • 打赏
  • 举报
回复
转换错误。
MessageBox.Show(表名.列名.Name.GetType())
kkun_3yue3 2009-04-16
  • 打赏
  • 举报
回复
表名.列名.Name

在访问它的时候用到了一个"GET",返回的是NULL
于是代码变成了
MessageBox.Show(null.GetType().ToString())

joeandlily 2009-04-16
  • 打赏
  • 举报
回复
似乎Name字段没有数值,所以ToString出错。
kkun_3yue3 2009-04-16
  • 打赏
  • 举报
回复
你绑定NULL值的时候出错了
hanjinkai 2009-04-16
  • 打赏
  • 举报
回复
select isNull();
isNull(对NUll值进行控制)
zzxap 2009-04-16
  • 打赏
  • 举报
回复
select isnull(name,0) from
yjvjom 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jstzcl007 的回复:]
我想实现:如果Name列数值是NULL或者是空字符串""时,出现提示。但现在在判断NULL值时始终出错,该如何写这个if语句?
[/Quote]

1。如果你是用SqlDataReader来引用的话,可以使用read.IsNull(columnIndex)来进行判断;
2。如果是直接用DataRow来引用的话使用Table.Rows[ColumnName]==DBNull.Value来进行判断。

另外如果Table.Rows[ColumnName]的值是""(空字符串)时使用.ToString()是不会报错的。
kkun_3yue3 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jstzcl007 的回复:]
我想实现:如果Name列数值是NULL或者是空字符串""时,出现提示。但现在在判断NULL值时始终出错,该如何写这个if语句?
[/Quote]

string.IsNullOrEmpty(string value);
ycagri 2009-04-16
  • 打赏
  • 举报
回复
if(reader["field"]!= System.DBNull.Value)
{

}

111,092

社区成员

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

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

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