1.新的索引引擎更快的执行效率
下面这段代码在2003中需要157秒,在2005中只要11秒就可以完成:
DataSet ds
=
new
DataSet();

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
"
));

Cursor.Current
=
Cursors.WaitCursor;

DateTime datBegin
=
DateTime.Now;

Random rand
=
new
Random();
int
i, intValue;
DataRow dr;

for
(i
=
1
; i
<=
500000
; i
++
)
{
try
{
intValue = rand.Next();

dr = ds.Tables[0].NewRow();

dr["ID"] = intValue;
dr["Value"] = intValue;

ds.Tables[0].Rows.Add(dr);
}
catch { }
}

Cursor.Current
=
Cursors.Default;

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
"
;

DataSet ds
=
new
DataSet();
SqlDataAdapter dadpt
=
new
SqlDataAdapter(
"
select * from [order details]
"
, connstr);
dadpt.Fill(ds);

BinaryFormatter bf
=
new
BinaryFormatter();
FileStream fs
=
new
FileStream(
@"
c:/xml1.txt
"
,FileMode.OpenOrCreate);

ds.RemotingFormat = SerializationFormat.Binary;

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);

dt.WriteXml(
@"
c:/DataTable.xml
"
,
true
);
dt.WriteXmlSchema(
@"
c:/DataTableSchema.xml
"
);
DataTable Read XML
StreamReader sr
=
new
StreamReader(
@"
C:/DataTableSchema.xml
"
);

DataTable dt
=
new
DataTable();
dt.ReadXmlSchema(sr);

dt.ReadXml(
new
StreamReader(
@"
c:/dataTable.xml
"
));

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);

SqlDataAdapter dadpt1
=
new
SqlDataAdapter(
"
select * from customers
"
, connstr);
DataTable dt1
=
new
DataTable(
"
Customer1
"
);
dadpt1.Fill(dt1);

dt.Merge(dt1);

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();

DataTable dt
=
new
DataTable(
"
Customer
"
);
dt.Load(dr);

this
.dataGridView1.DataSource
=
dt;
下面这段代码在2003中需要157秒,在2005中只要11秒就可以完成:
















































DataTable Write XML




































