|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。adoADO.NET2.0Dataset和Datatable新功效新特征
1.新的索引引擎更快的实行效力
上面这段代码在2003中必要157秒,在2005中只需11秒就能够完成:
DataSetds=newDataSet();
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;
DateTimedatBegin=DateTime.Now;
Randomrand=newRandom();
inti,intValue;
DataRowdr;
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("ElapsedTime:"+(DateTime.Now-datBegin).Seconds.ToString());
MessageBox.Show("count="+ds.Tables[0].Rows.Count.ToString());
2.Dataset能够序列化为二进制文件
stringconnstr="server=(local);database=northwind;integratedsecurity=true;async=true";
DataSetds=newDataSet();
SqlDataAdapterdadpt=newSqlDataAdapter("select*from[orderdetails]",connstr);
dadpt.Fill(ds);
BinaryFormatterbf=newBinaryFormatter();
FileStreamfs=newFileStream(@"c:xml1.txt",FileMode.OpenOrCreate);
ds.RemotingFormat=SerializationFormat.Binary;
bf.Serialize(fs,ds);
3.更自力的Datatable
DataTableWriteXMLstringconnstr="server=(local);database=northwind;integratedsecurity=true;async=true";
SqlDataAdapterdadpt=newSqlDataAdapter("select*from[orderdetails]",connstr);
DataTabledt=newDataTable("Customer");
dadpt.Fill(dt);
dt.WriteXml(@"c:DataTable.xml",true);
dt.WriteXmlSchema(@"c:DataTableSchema.xml");DataTableReadXML
StreamReadersr=newStreamReader(@"C:DataTableSchema.xml");
DataTabledt=newDataTable();
dt.ReadXmlSchema(sr);
dt.ReadXml(newStreamReader(@"c:dataTable.xml"));
this.dataGridView1.DataSource=dt;DataTableMerge
stringconnstr="server=(local);database=northwind;integratedsecurity=true;async=true";
SqlDataAdapterdadpt=newSqlDataAdapter("select*fromcustomers",connstr);
DataTabledt=newDataTable("Customer");
dadpt.Fill(dt);
SqlDataAdapterdadpt1=newSqlDataAdapter("select*fromcustomers",connstr);
DataTabledt1=newDataTable("Customer1");
dadpt1.Fill(dt1);
dt.Merge(dt1);
this.dataGridView1.DataSource=dt;DataTableLoadDataReader
stringconnstr="server=(local);database=northwind;integratedsecurity=true;async=true";
SqlConnectionconn=newSqlConnection(connstr);
conn.Open();
SqlCommandcmd=newSqlCommand("select*from[orderdetails]",conn);
SqlDataReaderdr=cmd.ExecuteReader();
DataTabledt=newDataTable("Customer");
dt.Load(dr);
this.dataGridView1.DataSource=dt;
前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。 |
|