ADO.NET批量数据操作和多动态结果集
点击次数:68 次 发布日期:2008-11-06 07:55:47 作者:源代码网
|
可以利用SqlBulkCopy类快速写入大批量数据,针对SQL Server的优化,可以写入DataRow数据,DataTable,DataReader WriteToServer(DataTable)写入数据表 WriteToServer(DataRow[])批次写入数据行 WriteToServer(DataTable ,DataRowState)按行状态写入数据库表 WriteToServer(IDataReader)写入DataReader对象 string connstr = "server=(local);database=northwind;integrated security=true;async=true"; // Fill up a DataSet DataSet ds = new DataSet(); SqlConnection conn = new SqlConnection(connstr); SqlDataAdapter dadp = new SqlDataAdapter("select * from customers", conn); dadp.Fill(ds); // Copy the Data to SqlServer SqlBulkCopy bcp = new SqlBulkCopy(connstr); bcp.DestinationTableName = "customers1"; bcp.WriteToServer(ds.Tables[0]); 2.多个动态的结果集 Multiple Active Result Sets(MARS) 这个只能在SQL Server 2005中使用 可以在一个Command对象上同时打开多个DataReader string connstr = "server=(local);database=northwind;integrated security=true;async=true"; SqlConnection conn = new SqlConnection(connstr); conn.Open(); SqlCommand cmd1 = new SqlCommand("select * from customers", conn); SqlCommand cmd2 = new SqlCommand("select * from orders", conn); SqlDataReader rdr1 = cmd1.ExecuteReader(); // next statement causes an error prior to SQL Server 2005 SqlDataReader rdr2 = cmd2.ExecuteReader(); // now you can reader from rdr1 and rdr2 at the same time. 源代码网推荐 源代码网供稿. |
