惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
小众软件
小众软件
V
V2EX
博客园 - Franky
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
量子位
博客园 - 【当耐特】
雷峰网
雷峰网
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog

博客园 - Titans

一个想嫁有钱人的女孩得到的回复 ASP.NET 中执行 URL 重写 - Titans 在 ASP.NET 中执行 URL 重写 国外C#开源系统一览表 五蕴皆空 项目管理一些体会 职场好人缘的26个细节 试译Fowler的《更多企业应用架构模式》稿 小tips:asp.net 2.0中在gridview中使用DataFromatString C# String Library ASP.NET 2.0页面框架的几处变化 ASP.NET 2.0 中收集的小功能点 战将宣言 Titans:小天使 日历控件源码开放--适用于ASP.NET 1.1 爱的距离 华为的冬天 - Titans - 博客园 每件事都有它的道理 搜索引擎优化排名方法
ADO.NET 2.0 大批量数据操作和多个动态的结果集
Titans · 2006-09-25 · via 博客园 - Titans

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.