仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 599|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计ADO.NET 2.0 DataSet和DataTable 新功效...

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:10 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-19 00:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表