读取空值的问题

Cool_xiaocao Cool_xiaocao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

/// <summary>
/// 根据ID得用户表实体
/// </summary>
/// <param name="Id">主键ID</param>
/// <returns>实体</returns>
public static UserInfo GetUserInfoEntity(int Id)
{
string strSql = "select * from UserInfo where userId = " + Id;
SqlDataReader reader = SqlHelper.GetDataReader(strSql);
if (reader.Read())
{
UserInfo user = new UserInfo();
user.UserId = int.Parse(reader["userId"]);
user.UserName = reader["userName"].ToString();
user.UserTime = (DateTime?)reader["userTime"];
return user;
}
else
{
reader.Close();
return null;
}
}

UserInfo实体表
public class UserInfo
{
private int _userId;
/// <summary>
/// 主键ID
/// </summary>
public int UserId
{
get { return _userId; }
set { _userId = value; }
}
private string _userName;
/// <summary>
/// 用户名
/// </summary>
public string UserName
{
get { return _userName; }
set { _userName = value; }
}
private Nullable<DateTime> userTime;
/// <summary>
/// 用户注册时间
/// </summary>
public Nullable<DateTime>UserTime
{
get { return _userName; }
set { _userName = value; }
}
}


数据表(UserInfo)
userId userName userTime
1 csdn NULL
2 csdn NULL

通过ID获取到UserInfo表中的数据,但reader.Read()的时候出现“指定的转换无效”

我知道问题是出现在user.UserTime = (DateTime?)reader["userTime"];
我是想把reader["userTime"]的值赋给user.UserTIme,应该怎么解决呢?
这里数据类型转换出现错误,当读取数据库中空(NULL)字段,相应的Nullable<T>空类型应怎么赋值?
请大家帮忙解决解决。
...全文

相关推荐

评论 19
收藏 已收藏
分享
返回顶部
Cool_xiaocao
.NET社区 62,272 成员 668,968 内容