目前 要做一个数据库表的 类型在C# 里
Data_CX_JOB 为表在C# 里的类型
Data_CX_JOB 下的属性为表里的字段
如何把 DataTable 中的数据对像化 转换成 object[] 或者是转成 LIst<object>也行
object 用反射得到的动态数据库 映射类型 如何转换啊/.
//我以前用的转换方法 但不能通用只能针对一个类型进行转换
//不能实现多个 数据库表类的操作 DataTable Mydt = MyDs.Tables[0];
for (int i = 0; i < Mydt.Rows.Count; i++)
{
Data_CX_JOB Mydato = new Data_CX_JOB();
#region 实现转换的方法
Mydato.CX_JOB_id = (decimal)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_id].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? 0 : Mydt.Rows[i][Data_CX_JOB._CX_JOB_id]);
Mydato.CX_JOB_Name = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_Name].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_Name]);
Mydato.CX_JOB_Age = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_Age].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_Age]);
Mydato.CX_JOB_quality = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_quality].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_quality]);
Mydato.CX_JOb_Class = (int)(Mydt.Rows[i][Data_CX_JOB._CX_JOb_Class].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? 0 : Mydt.Rows[i][Data_CX_JOB._CX_JOb_Class]);
Mydato.CX_JOB_experience = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_experience].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_experience]);
Mydato.CX_JOB_education = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_education].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_education]);
Mydato.CX_JOB_PubLicTime = (DateTime)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_PubLicTime].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? DateTime.Now : Mydt.Rows[i][Data_CX_JOB._CX_JOB_PubLicTime]);
Mydato.CX_JOB_WorkAddress = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_WorkAddress].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_WorkAddress]);
Mydato.CX_JOB_Salary = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_Salary].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_Salary]);
Mydato.CX_JOB_Men = (int)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_Men].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? 0 : Mydt.Rows[i][Data_CX_JOB._CX_JOB_Men]);
Mydato.CX_JOb_Summary = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOb_Summary].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOb_Summary]); #endregion
p[i] = Mydato;
}
Data_CX_JOB 为表在C# 里的类型
Data_CX_JOB 下的属性为表里的字段
如何把 DataTable 中的数据对像化 转换成 object[] 或者是转成 LIst<object>也行
object 用反射得到的动态数据库 映射类型 如何转换啊/.
//我以前用的转换方法 但不能通用只能针对一个类型进行转换
//不能实现多个 数据库表类的操作 DataTable Mydt = MyDs.Tables[0];
for (int i = 0; i < Mydt.Rows.Count; i++)
{
Data_CX_JOB Mydato = new Data_CX_JOB();
#region 实现转换的方法
Mydato.CX_JOB_id = (decimal)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_id].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? 0 : Mydt.Rows[i][Data_CX_JOB._CX_JOB_id]);
Mydato.CX_JOB_Name = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_Name].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_Name]);
Mydato.CX_JOB_Age = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_Age].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_Age]);
Mydato.CX_JOB_quality = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_quality].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_quality]);
Mydato.CX_JOb_Class = (int)(Mydt.Rows[i][Data_CX_JOB._CX_JOb_Class].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? 0 : Mydt.Rows[i][Data_CX_JOB._CX_JOb_Class]);
Mydato.CX_JOB_experience = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_experience].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_experience]);
Mydato.CX_JOB_education = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_education].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_education]);
Mydato.CX_JOB_PubLicTime = (DateTime)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_PubLicTime].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? DateTime.Now : Mydt.Rows[i][Data_CX_JOB._CX_JOB_PubLicTime]);
Mydato.CX_JOB_WorkAddress = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_WorkAddress].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_WorkAddress]);
Mydato.CX_JOB_Salary = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_Salary].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOB_Salary]);
Mydato.CX_JOB_Men = (int)(Mydt.Rows[i][Data_CX_JOB._CX_JOB_Men].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? 0 : Mydt.Rows[i][Data_CX_JOB._CX_JOB_Men]);
Mydato.CX_JOb_Summary = (string)(Mydt.Rows[i][Data_CX_JOB._CX_JOb_Summary].GetType().ToString() == System.DBNull.Value.GetType().ToString() ? "" : Mydt.Rows[i][Data_CX_JOB._CX_JOb_Summary]); #endregion
p[i] = Mydato;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货