1.DataRow数组 转DataTable
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123;database=test")) { using (SqlDataAdapter adp = new SqlDataAdapter("select * from AA_Car", con)) { DataTable dt = new DataTable(); adp.Fill(dt); DataRow[] drs = dt.Select(" id in (2,3)"); DataTable dtNew = dt.Clone();//drs中的一个datarow克隆也可以 foreach (DataRow dr in drs) { dtNew.ImportRow(dr); } } }
2.DataTable 转对象
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
DataTable dt = new DataTable(); dt.Columns.Add("Code"); dt.Columns.Add("Name"); dt.Columns.Add("Driver"); dt.Rows.Add(new object[] {"1","a","张" }); dt.Rows.Add(new object[] { "1", "a", "王" }); dt.Rows.Add(new object[] { "1", "a", "李" }); Car car = new Car(); Type info = typeof(Car); foreach (var m in info.GetMembers()) { if (m.MemberType == MemberTypes.Property) { var p = info.GetProperty(m.Name); p.SetValue(car, Convert.ChangeType(dt.Rows[0][m.Name], p.PropertyType), null); } }