1.大批量数据操作
可以利用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.