永发信息网

C#.net 网页 中 如何处理 查询 出来字段为空的 数据???报错!!

答案:5  悬赏:0  手机版
解决时间 2021-02-18 21:17
  • 提问者网友:刺鸟
  • 2021-02-17 23:21
数据库的 SQL 语句 这样 写: "select max(MAccount ) from users ";
string str_max;
if ( myReader.Read())
{
str_max = (string)myReader[0];

}

else
{
str_max = "";
Response.Write(str_max);
}
问题就出在这里, 为什么 当数据库的字段MAccount 有记录值 可以这样转换 ,如果 MAccount 没有记录时 ,会报错 object 不能转换 为string类型,

如果SQL 语句这样写 又可以使用 "select MAccount from users ";
string str_max;
if ( myReader.Read())
{
str_max = (string)myReader[0];

}

else
{
str_max = "";
Response.Write(str_max);
}
还有 在 VB.NET里面可以使用 Not ISDbnull 来判断 数据为空, 而在C# 改如何判断???急 请高手指点
最佳答案
  • 五星知识达人网友:末日狂欢
  • 2021-02-18 00:45
你可以使用一些不会报错的方式将object转换为字符串

str_max=string.Format("{0}",myReader[0]);
当yReader[0]为null时将返回string.Empty,此方法永远不返回NULL

str_max=myReader[0] as string;
当转换失败时不会出异常而是返回null
全部回答
  • 1楼网友:渊鱼
  • 2021-02-18 03:39
数据库中的空值使用“DBnull.Value”判断
  • 2楼网友:酒醒三更
  • 2021-02-18 02:53
sql="select oid from orderview where ordernumbe is null and oid='" + oid_order + "'";
  • 3楼网友:思契十里
  • 2021-02-18 02:06
DBnull.Value, 至于补充的应该是隐式和显式数据转换的问题
  • 4楼网友:慢性怪人
  • 2021-02-18 01:25
C#中判断查询出的结果是否为空,可以使用DBNull.Value来判断. 简例: if (dt.Rows[0]["Id"] != DBNull.Value) { fd.Id = Convert.ToInt32(dt.Rows[0]["Id"].ToString()); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯