Csdn dotnet blog 专家群 ghd258
1.新的索引引擎更快的执行效率
下面这段代码在2003中需要157秒,在2005中只要11秒就可以完成:
DataSet ds
=
new
DataSet();
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
ds.Tables.Add(
"
BigTable
"
);
ds.Tables[
0
].Columns.Add(
"
ID
"
, Type.GetType(
"
System.Int32
"
));
ds.Tables[
0
].Columns[
"
ID
"
].Unique
=
true
;
ds.Tables[
0
].Columns.Add(
"
Value
"
, Type.GetType(
"
System.Int32
"
));
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
Cursor.Current
=
Cursors.WaitCursor;
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
DateTime datBegin
=
DateTime.Now;
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
Random rand
=
new
Random();
int
i, intValue;
DataRow dr;
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
for
(i
=
1
; i
<=
500000
; i
++
)
![](https://i-blog.csdnimg.cn/blog_migrate/eb0de748a618dd87d3b49c4cb26875ea.gif)
{
try
![](https://i-blog.csdnimg.cn/blog_migrate/c7908d515916470020c44a428d121a18.gif)
{
intValue = rand.Next();
![](https://i-blog.csdnimg.cn/blog_migrate/e4a3ae5f672f94f058bd725357f1368a.gif)
dr = ds.Tables[0].NewRow();
![](https://i-blog.csdnimg.cn/blog_migrate/e4a3ae5f672f94f058bd725357f1368a.gif)
dr["ID"] = intValue;
dr["Value"] = intValue;
![](https://i-blog.csdnimg.cn/blog_migrate/e4a3ae5f672f94f058bd725357f1368a.gif)
ds.Tables[0].Rows.Add(dr);
}
![](https://i-blog.csdnimg.cn/blog_migrate/c7908d515916470020c44a428d121a18.gif)
catch
{ }
}
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
Cursor.Current
=
Cursors.Default;
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
MessageBox.Show(
"
Elapsed Time:
"
+
(DateTime.Now
-
datBegin).Seconds.ToString());
MessageBox.Show(
"
count =
"
+
ds.Tables[
0
].Rows.Count.ToString());
2.Dataset可以序列化为二进制文件
string
connstr
=
"
server=(local);database=northwind;integrated security=true;async=true
"
;
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
DataSet ds
=
new
DataSet();
SqlDataAdapter dadpt
=
new
SqlDataAdapter(
"
select * from [order details]
"
, connstr);
dadpt.Fill(ds);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
BinaryFormatter bf
=
new
BinaryFormatter();
FileStream fs
=
new
FileStream(
@"
c:/xml1.txt
"
,FileMode.OpenOrCreate);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
ds.RemotingFormat = SerializationFormat.Binary;
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
bf.Serialize(fs,ds);
3.更独立的Datatable
DataTable Write XML
string
connstr
=
"
server=(local);database=northwind;integrated security=true;async=true
"
;
SqlDataAdapter dadpt
=
new
SqlDataAdapter(
"
select * from [order details]
"
, connstr);
DataTable dt
=
new
DataTable(
"
Customer
"
);
dadpt.Fill(dt);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
dt.WriteXml(
@"
c:/DataTable.xml
"
,
true
);
dt.WriteXmlSchema(
@"
c:/DataTableSchema.xml
"
);
DataTable Read XML
StreamReader sr
=
new
StreamReader(
@"
C:/DataTableSchema.xml
"
);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
DataTable dt
=
new
DataTable();
dt.ReadXmlSchema(sr);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
dt.ReadXml(
new
StreamReader(
@"
c:/dataTable.xml
"
));
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
this
.dataGridView1.DataSource
=
dt;
DataTable Merge
string
connstr
=
"
server=(local);database=northwind;integrated security=true;async=true
"
;
SqlDataAdapter dadpt
=
new
SqlDataAdapter(
"
select * from customers
"
, connstr);
DataTable dt
=
new
DataTable(
"
Customer
"
);
dadpt.Fill(dt);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
SqlDataAdapter dadpt1
=
new
SqlDataAdapter(
"
select * from customers
"
, connstr);
DataTable dt1
=
new
DataTable(
"
Customer1
"
);
dadpt1.Fill(dt1);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
dt.Merge(dt1);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
this
.dataGridView1.DataSource
=
dt;
DataTable Load DataReader
string
connstr
=
"
server=(local);database=northwind;integrated security=true;async=true
"
;
SqlConnection conn
=
new
SqlConnection(connstr);
conn.Open();
SqlCommand cmd
=
new
SqlCommand(
"
select * from [order details]
"
, conn);
SqlDataReader dr
=
cmd.ExecuteReader();
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
DataTable dt
=
new
DataTable(
"
Customer
"
);
dt.Load(dr);
![](https://i-blog.csdnimg.cn/blog_migrate/35d7faa8060b984f7bcfafab42969971.gif)
this
.dataGridView1.DataSource
=
dt;