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.Adddr;
}
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.Fillds;
BinaryFormatter bf = new BinaryFormatter;
FileStream fs = new FileStream@"c:\xml1.txt",FileMode.OpenOrCreate;
ds.RemotingFormat = SerializationFormat.Binary;
bf.Serializefs,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.Filldt;
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.ReadXmlSchemasr;
dt.ReadXmlnew 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.Filldt;
SqlDataAdapter dadpt1 = new SqlDataAdapter"select from customers", connstr;
DataTable dt1 = new DataTable"Customer1";
dadpt1.Filldt1;
dt.Mergedt1;
this.dataGridView1.DataSource = dt; DataTable Load DataReader
string connstr = "server=local;database=northwind;integrated security=true;async=true";
SqlConnection conn = new SqlConnectionconnstr;
conn.Open;
SqlCommand cmd = new SqlCommand"select from [order details]", conn;
SqlDataReader dr = cmd.ExecuteReader;
DataTable dt = new DataTable"Customer";
dt.Loaddr;
this.dataGridView1.DataSource = dt;