数据库的 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# 改如何判断???急 请高手指点
C#.net 网页 中 如何处理 查询 出来字段为空的 数据???报错!!
答案:5 悬赏:0 手机版
解决时间 2021-02-18 21:17
- 提问者网友:刺鸟
- 2021-02-17 23:21
最佳答案
- 五星知识达人网友:末日狂欢
- 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
如
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());
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯