C#中 int类型 和 int?类型之间的转换 判断数据库类的数据是否为空值

Model层中定义UserInfo实体类的testInt属性为int?类型publicint?testInt{set;get;}DAL层中从数据库中获取数据UserInf... Model层中定义UserInfo实体类的testInt属性为 int?类型
public int? testInt
{
set;
get;
}

DAL层中 从数据库中获取数据
UserInfo myUserInfo = new UserInfo();实例化
SqlDataReader reader = SqlHelper.ExecuteReader();
myUserInfo.errorTimes = reader.IsDBNull(4) ? null : (int?)reader.GetInt32(4);//该句错误
展开
 我来答
ahdung
2013-06-06 · TA获得超过609个赞
知道小有建树答主
回答量:323
采纳率:100%
帮助的人:264万
展开全部
你的errorTimes是int型吧,后面都错了,不管是null还是int?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
88788895
2013-06-06 · 超过17用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:46.8万
展开全部
不用强制转换,直接接收就可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gyyyaann
2013-06-06 · 超过68用户采纳过TA的回答
知道答主
回答量:197
采纳率:0%
帮助的人:183万
展开全部
(int?)改为(int)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
想象之外YE
2018-04-11
知道答主
回答量:24
采纳率:0%
帮助的人:2.5万
展开全部

myUserInfo.errorTimes = reader.IsDBNull(4) ? null : (int?)reader.GetInt32(4)

对应的属性为

public int? errorTimes

{

set;

get;

}

例如我下面的代码

//属性
public int? height { get; set; }
public Boolean? gender { get; set; }


//对应的
person.height = reader.IsDBNull(3) ? null : (int?)reader.GetInt32(3);
person.gender = reader.IsDBNull(4) ? null : (bool?)reader.GetBoolean(4);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式