1.新的索引引擎更快的执行效率
下面这段代码在2003中需要157秒,在2005中只要11秒就可以完成:
DataTable Write XML
下面这段代码在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可以序列化为二进制文件
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());
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
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);
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
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 " );
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
DataTable dt = new DataTable();
dt.ReadXmlSchema(sr);
dt.ReadXml( new StreamReader( @" c:\dataTable.xml " ));
this .dataGridView1.DataSource = dt;
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
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;
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;
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;
本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/30/264820.html,如需转载请自行联系原作者