110,499
社区成员
发帖
与我相关
我的任务
分享
private Yddlinf GetYddlByRow(DataRow row)
{
Yddlinf yddl = new Yddlinf();
yddl.PatientInfoId = (int)row["PatientInfoId"];
yddl.SeatHoursPerday = (int)row["SeatHoursPerday"];
yddl.DislikeSport = (string)row["DislikeSport"];
yddl.FavoriteSportId = (int)row["FavoriteSportId"];
yddl.SportTimeId = (int)row["SportTimeId"];
yddl.SportFrequencyPerWeekId = (int)row["SportFrequencyPerWeekId"];
return yddl;
}
if (IsPostBack == false)
{
Id = Int32.Parse(Request.QueryString["id"]);
YddlMgmt mgmt = new YddlMgmt();
Yddlinf yddl = mgmt.GetYddlById(Id);
SeatHoursPerday.Text = yddl.SeatHoursPerday.ToString();
DislikeSport.Text = yddl.DislikeSport.ToString();
FavoriteSportId.Text = yddl.FavoriteSportId.ToString();
SportTimeId.Text = yddl.SportTimeId.ToString();
SportFrequencyPerWeekId.Text = yddl.SportFrequencyPerWeekId.ToString();
}
select isnull(name,'') ,isnull(age,0) from table
public static DateTime GetDateTime(DataRow dr, string fieldName, DateTime replaceValue)
{
if (dr.IsNull(fieldName))
return replaceValue;
return Convert.ToDateTime(dr[fieldName]);
}
public static object GetValue(DataRow dr, string fieldName, object replaceValue)
{
if (dr.IsNull(fieldName))
return replaceValue;
return dr[fieldName];
}
布尔类型的, 可以用上面的 GetValue 后转一下 , 如我前面发的图就可以了。
其实你应该多思考, 这个问题不难解决的[/quote]public static DateTime GetDateTime(DataRow dr, string fieldName, DateTime replaceValue)
{
if (dr.IsNull(fieldName))
return replaceValue;
return Convert.ToDateTime(dr[fieldName]);
}
public static object GetValue(DataRow dr, string fieldName, object replaceValue)
{
if (dr.IsNull(fieldName))
return replaceValue;
return dr[fieldName];
}
布尔类型的, 可以用上面的 GetValue 后转一下 , 如我前面发的图就可以了。
其实你应该多思考, 这个问题不难解决的/// <summary>
/// 从DataReader中读取可空对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dr"></param>
/// <param name="key"></param>
/// <returns></returns>
public static Nullable<T> GetNullable<T>(this IDataReader dr, string key)
where T : struct
{
return dr[key] == null || dr[key] == DBNull.Value ? (Nullable<T>)null : (T)dr[key];
}
/// <summary>
/// 当DataReader读取对象为空时,返回defaultValue
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dr"></param>
/// <param name="key"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static T GetDefaultWhileNullable<T>(this IDataReader dr, string key, T defaultValue)
{
return dr[key] == null || dr[key] == DBNull.Value ? defaultValue : (T)dr[key];
}
/// <summary>
/// 从DataReader中读取字符串并除前后空白字符后
/// </summary>
/// <param name="dr"></param>
/// <param name="key"></param>
/// <returns></returns>
public static string GetTrimedString(this IDataReader dr, string key)
{
return dr[key].ToString().Trim();
}
“”
private Yddlinf GetYddlByRow(DataRow row)
{
Yddlinf yddl = new Yddlinf();
yddl.PatientInfoId = row["PatientInfoId"] == null?0:(int)row["PatientInfoId"];
yddl.SeatHoursPerday = row["SeatHoursPerday"] == null?0:(int)row["SeatHoursPerday"];
yddl.DislikeSport = row["DislikeSport"] == null?"":(string)row["DislikeSport"];
yddl.FavoriteSportId = row["FavoriteSportId"] == null?0:(int)row["FavoriteSportId"];
yddl.SportTimeId = row["SportTimeId"] == null?0:(int)row["SportTimeId"];
yddl.SportFrequencyPerWeekId = row["SportFrequencyPerWeekId"] == null?0:(int)row["SportFrequencyPerWeekId"];
return yddl;
}
[/quote]
1.用sql,改成isnull(xxx,'') as xxx
2.C#程序两个判断 row["PatientInfoId"] == DBNull.Value || row["PatientIntfold"] == null ,上面出现这个错误是实体属性与数据库字段的类型不相符,查看一下哪个转换出错了
“”
private Yddlinf GetYddlByRow(DataRow row)
{
Yddlinf yddl = new Yddlinf();
yddl.PatientInfoId = row["PatientInfoId"] == null?0:(int)row["PatientInfoId"];
yddl.SeatHoursPerday = row["SeatHoursPerday"] == null?0:(int)row["SeatHoursPerday"];
yddl.DislikeSport = row["DislikeSport"] == null?"":(string)row["DislikeSport"];
yddl.FavoriteSportId = row["FavoriteSportId"] == null?0:(int)row["FavoriteSportId"];
yddl.SportTimeId = row["SportTimeId"] == null?0:(int)row["SportTimeId"];
yddl.SportFrequencyPerWeekId = row["SportFrequencyPerWeekId"] == null?0:(int)row["SportFrequencyPerWeekId"];
return yddl;
}