c# 关于DataTable

1.DataRow数组 转DataTable

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);
                    }
                }
            }
View Code

 2.DataTable 转对象

     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);
                }
            }
View Code
原文地址:https://www.cnblogs.com/SoftWareIe/p/10214980.html