ADO.NET 2.0 Dataset和Datatable 新功能新特性

简介:

1.新的索引引擎更快的执行效率
   下面这段代码在2003中需要157秒,在2005中只要11秒就可以完成:
None.gif DataSet ds  =   new  DataSet();
None.gif
None.gif            ds.Tables.Add(
" BigTable " );
None.gif            ds.Tables[
0 ].Columns.Add( " ID " , Type.GetType( " System.Int32 " ));
None.gif            ds.Tables[
0 ].Columns[ " ID " ].Unique  =   true ;
None.gif            ds.Tables[
0 ].Columns.Add( " Value " , Type.GetType( " System.Int32 " ));
None.gif
None.gif            Cursor.Current 
=  Cursors.WaitCursor;
None.gif
None.gif            DateTime datBegin 
=  DateTime.Now;
None.gif
None.gif            Random rand 
=   new  Random();
None.gif            
int  i, intValue;
None.gif            DataRow dr;
None.gif
None.gif            
for  (i  =   1 ; i  <=   500000 ; i ++ )
ExpandedBlockStart.gif            
{
InBlock.gif                
try
ExpandedSubBlockStart.gif                
{
InBlock.gif                    intValue 
= rand.Next();
InBlock.gif
InBlock.gif                    dr 
= ds.Tables[0].NewRow();
InBlock.gif
InBlock.gif                    dr[
"ID"= intValue;
InBlock.gif                    dr[
"Value"= intValue;
InBlock.gif
InBlock.gif                    ds.Tables[
0].Rows.Add(dr);
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockStart.gif                
catch { }
ExpandedBlockEnd.gif            }

None.gif
None.gif            Cursor.Current 
=  Cursors.Default;
None.gif
None.gif            MessageBox.Show(
" Elapsed Time:  "   +  (DateTime.Now  -  datBegin).Seconds.ToString());
None.gif            MessageBox.Show(
" count =  "   +  ds.Tables[ 0 ].Rows.Count.ToString());
None.gif
2.Dataset可以序列化为二进制文件
None.gif   string  connstr  =   " server=(local);database=northwind;integrated security=true;async=true " ;
None.gif
None.gif            DataSet ds 
=   new  DataSet();
None.gif            SqlDataAdapter dadpt 
=   new  SqlDataAdapter( " select * from [order details] " , connstr);
None.gif            dadpt.Fill(ds);
None.gif
None.gif            BinaryFormatter bf 
=   new  BinaryFormatter();
None.gif            FileStream fs 
=   new  FileStream( @" c:\xml1.txt " ,FileMode.OpenOrCreate);
None.gif
None.gif            ds.RemotingFormat = SerializationFormat.Binary; 

None.gif
None.gif            bf.Serialize(fs,ds);     
3.更独立的Datatable
  DataTable Write XML
None.gif   string  connstr  =   " server=(local);database=northwind;integrated security=true;async=true " ;
None.gif            SqlDataAdapter dadpt 
=   new  SqlDataAdapter( " select * from [order details] " , connstr);
None.gif            DataTable dt 
=   new  DataTable( " Customer " );
None.gif            dadpt.Fill(dt);
None.gif
None.gif            dt.WriteXml(
@" c:\DataTable.xml " , true );
None.gif            dt.WriteXmlSchema(
@" c:\DataTableSchema.xml " );
   DataTable Read XML
None.gif  StreamReader sr  =   new  StreamReader( @" C:\DataTableSchema.xml " );
None.gif
None.gif            DataTable dt 
=   new  DataTable();
None.gif            dt.ReadXmlSchema(sr);
None.gif
None.gif            dt.ReadXml(
new  StreamReader( @" c:\dataTable.xml " ));
None.gif
None.gif            
this .dataGridView1.DataSource  =  dt;
    DataTable Merge
None.gif   string  connstr  =   " server=(local);database=northwind;integrated security=true;async=true " ;
None.gif            SqlDataAdapter dadpt 
=   new  SqlDataAdapter( " select * from customers " , connstr);
None.gif            DataTable dt 
=   new  DataTable( " Customer " );
None.gif            dadpt.Fill(dt);
None.gif
None.gif            SqlDataAdapter dadpt1 
=   new  SqlDataAdapter( " select * from customers " , connstr);
None.gif            DataTable dt1 
=   new  DataTable( " Customer1 " );
None.gif            dadpt1.Fill(dt1);
None.gif
None.gif            dt.Merge(dt1);
None.gif
None.gif            
this .dataGridView1.DataSource  =  dt;
  DataTable Load DataReader
None.gif   string  connstr  =   " server=(local);database=northwind;integrated security=true;async=true " ;
None.gif            SqlConnection conn 
=   new  SqlConnection(connstr);
None.gif            conn.Open();
None.gif            SqlCommand cmd 
=   new  SqlCommand( " select * from [order details] " , conn);
None.gif            SqlDataReader dr 
=  cmd.ExecuteReader();
None.gif
None.gif            DataTable dt 
=   new  DataTable( " Customer " );
None.gif            dt.Load(dr);
None.gif
None.gif            
this .dataGridView1.DataSource  =  dt;



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/30/264820.html,如需转载请自行联系原作者
相关文章
|
27天前
|
人工智能 开发框架 .NET
.NET技术的强大功能:.NET技术的基础特性、在现代开发中的应用、以及它如何助力未来的软件开发。
.NET技术是软件开发领域的核心支柱,以其强大功能、灵活性及安全性广受认可。本文分三部分解析:基础特性如多语言支持、统一运行时环境;现代应用如企业级与Web开发、移动应用、云服务及游戏开发;以及未来趋势如性能优化、容器化、AI集成等,展望.NET在不断变化的技术环境中持续发展与创新。
56 4
|
29天前
|
数据采集 API 开发者
.NET 8新特性:使用ConfigurePrimaryHttpMessageHandler定制HTTP请求
在.NET 8中,通过`ConfigurePrimaryHttpMessageHandler`方法,开发者能更精细地控制HTTP请求,这对于构建高效爬虫尤为重要。此特性支持定制代理IP、管理Cookie与User-Agent,结合多线程技术,有效应对网络限制及提高数据采集效率。示例代码展示了如何设置代理服务器、模拟用户行为及并发请求,从而在遵守网站规则的同时,实现快速稳定的数据抓取。
.NET 8新特性:使用ConfigurePrimaryHttpMessageHandler定制HTTP请求
|
27天前
|
JSON API C#
闲话 .NET(6):.NET Core 各个版本的特性
闲话 .NET(6):.NET Core 各个版本的特性
|
2月前
|
人工智能 开发框架 Devops
.NET技术概览:** 本文探讨了.NET的核心特性,包括多语言支持、Common Language Runtime、丰富的类库和跨平台能力,强调其在企业级、Web、移动及游戏开发中的应用。
【7月更文挑战第4天】.NET技术概览:** 本文探讨了.NET的核心特性,包括多语言支持、Common Language Runtime、丰富的类库和跨平台能力,强调其在企业级、Web、移动及游戏开发中的应用。此外,讨论了.NET如何通过性能优化、DevOps集成、AI与ML支持以及开源策略应对未来挑战,为开发者提供强大工具,共创软件开发新篇章。
35 3
|
3月前
|
存储 编译器
【.NET Core】特性(Attribute)详解
【.NET Core】特性(Attribute)详解
139 2
|
4月前
|
机器学习/深度学习 存储 开发工具
【专栏】解读 .NET 技术的先进特性
【4月更文挑战第29天】.NET 技术推动各行业软件开发创新,提供高效开发环境(如Visual Studio)和跨平台能力(.NET Core),支持多语言和函数式编程。其生态系统繁荣,NuGet包含大量开源库。同时,.NET整合云服务(Azure)和机器学习(ML.NET),强化应用扩展性和智能处理,巩固其在现代开发中的关键角色。
31 0
|
4月前
|
开发框架 .NET Java
ASP.NET Core高级编程--C#基本特性(一)
本文章简略介绍C#的部分特性
|
11月前
|
开发框架 前端开发 .NET
ASP.NET Core 核心特性学习笔记「下」
ASP.NET Core 核心特性学习笔记「下」
|
11月前
|
开发框架 前端开发 中间件
ASP.NET Core 核心特性学习笔记「上」
ASP.NET Core 核心特性学习笔记「上」
|
数据库 C#
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
377 0