/// <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>空类型应怎么赋值?
请大家帮忙解决解决。