编程语言与高级语言虚拟机杂谈仮 2018-02-04
一开始,思路是这样的:
DataTable dt = SqlHelper.GetTable("select * from Person"); DataTable dt2 = dt.Clone(); DataRow dr = dt.Rows[]; dt2.Rows.Add(dr); Console.ReadKey();
遗憾的是,将会抛出一个异常:
修改后的实现方式:
DataTable dt = SqlHelper.GetTable("select * from Person"); DataTable dt2 = dt.Clone(); DataRow dr = dt.Rows[]; dt2.Rows.Add(dr.ItemArray); Console.ReadKey();
或者 :
DataTable dt = SqlHelper.GetTable("select * from Person"); DataTable dt2 = dt.Clone(); DataRow dr = dt.Rows[]; dt2.ImportRow(dr); Console.ReadKey();
最后附上SqlHelper:
static class SqlHelper { private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["Default"].ConnectionString; public static DataTable GetTable(string sql, params SqlParameter[] paras) { using (SqlConnection conn = new SqlConnection(ConnectionString)) { SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddRange(paras); SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); conn.Open(); adapter.Fill(ds); return ds.Tables[]; } } }View Code