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

数据库的SQL语句这样写:"selectmax(MAccount)fromusers";stringstr_max;if(myReader.Read()){str_max... 数据库的 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# 改如何判断???急 请高手指点
展开
 我来答
202261256487e6a
2010-03-20 · TA获得超过481个赞
知道小有建树答主
回答量:795
采纳率:0%
帮助的人:704万
展开全部
你可以使用一些不会报错的方式将object转换为字符串

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

str_max=myReader[0] as string;
当转换失败时不会出异常而是返回null
绯雨晨
2010-03-20 · TA获得超过141个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:124万
展开全部
C#中判断查询出的结果是否为空,可以使用DBNull.Value来判断.

简例:

if (dt.Rows[0]["Id"] != DBNull.Value)
{
fd.Id = Convert.ToInt32(dt.Rows[0]["Id"].ToString());
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
师说tort
2010-03-20 · 超过15用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:40.6万
展开全部
DBnull.Value,
至于补充的应该是隐式和显式数据转换的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
僰道人可养生M
2010-03-20 · TA获得超过152个赞
知道答主
回答量:229
采纳率:0%
帮助的人:147万
展开全部
DBNull.Value.Equal(myReader[0])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
是六千啦89
2010-03-20 · TA获得超过125个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:104万
展开全部
数据库中的空值使用“DBnull.Value”判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式