|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么? 在一样平常开辟中,为了编写数据的增添、更新、修正、删除等功效而不能不面临单调的代码,做反复又反复的事情。.NET2.0正式版的公布,对我们程序开辟职员来讲无疑是一件很年夜的丧事,VisualStudio2005的一些新的加强功效和ADO.NET2.0的新特征让我们开辟高可伸缩的多层数据库使用程序加倍复杂和快速。
在.NET1.1下就能够利用强范例数据集,但是在VisualStudio2003里开辟起来仍是有一些不便利,在VisualStudio2005里对DataSet的计划视图做了很年夜的改善,由于ADO.NET2.0增添了TableAdapter工具,以是如今也能够在DataSet计划视图里增加DataTable的表适配器。之前的typedDataSets只是一些数据实体(哑工具,只要属性的类)的汇合,其实不能很便利的自我办理耐久化,和数据完全性考证等。如今能够很便利的完成这些。
下边经由过程一个例子来具体先容怎样经由过程vs2005来天生强范例DataSet简化开辟流程,天生可伸缩性的多层数据库使用程序。
起首新创建一个Web网站项目,在[办理计划资本办理器]→[增加新项]→[数据集],定名为Authors.xsd,因为强范例DataSet必要放到App_Code目次,假如此时项目文件中没有App_Code目次,IDE会提醒是不是创立,我们选择"是"便可。
此时IDE会主动翻开我们方才创建好的Authors.xsd文件,而且入手下手运转TableAdapter设置导游,假如Web.Config没无数据库保持字符串,此时我们必要新创建一个毗连:选择[新建保持]→[MicrosoftSQLServer]→[选择体系自带的pubs数据库]→[将新创建的保持字符串保留到使用程序设置文件中]。
在接上去的选择命令范例的时分,IDE出来三个选项来供用户选择会见呢数据库的情势:
1、利用SQL语句,假如是单个表,导游能够主动天生Insert,Update和Delete语句。本例子也是利用的这类办法。
2、创立新的存储历程。一样假如是单个表,导游能够主动天生Insert,Update和Delete语句。
3、利用现有存储历程。必要为每个命令选择响应的现有存储历程。
我们这里选择[利用SQL语句]→[查询天生器]→[authors表,选择一切列],此时查询天生器会主动给我们天生SQL语句(SELECTauthors.*FROMauthors)。[初级选项],能够选择是不是天生Insert,Update和Delete语句,利用开放式并发来避免并发抵触,革新数据表,用来考证Insert和Update语句,为了可以更明晰的先容利用办法,我们这里全体都不选择,而让我们今后依据必要自行增加。[选择要天生的办法],我们只必要利用[前往DataTable],其他的选项的对号往失落。
此时创立导游会主动给我们天生"Select语句","数据表的映照",和"Get办法"。我们创立的历程就停止了。这是我们发明DataSet.xsd会主动天生一个authors表和一个包括Get办法的数据集authorsTableAdapter。
一样,在我们创建好的数据表[authorsTableAdapter]右键→增加查询,参照上边的办法天生DeleteQuery(删除),InsertQuery(增添),UpdateQuery(更新)、SelectDetail(前往具体了局,利用Select(前往行)选项,天生一个只包含一条数据的数据集)和ScalarQuery(前往数据统计)。
以下是天生的SQL语句,必要手工修正成本人必要的代码:
DeleteQuery:DELETEFROM[authors]WHERE([au_id]=@Original_au_id)
InsertQuery:INSERTintoauthors(au_lname,au_fname,phone,address,city,state,zip,contract)values(@au_lname,@au_fname,@phone,@address,@city,@state,@zip,@contract)
UpdateQuery:UPDATEauthorssetau_lname=@au_lname,au_fname=@au_fname,phone=@phone,
address=@address,city=@city,state=@state,zip=@zip,contract=@contractwhereau_id=@au_id
SelectDetail:SELECTauthors.*FROMauthorswhereau_id=@au_id
ScalarQuery:SELECTCOUNT(*)FROMauthors
翻开Default.aspx,并增加一个GridView控件,而且增加一个ObjectDataSource控件,设置ObjecctDataSource的数据源,此时我们会发明在设置的时分体系已认出来我们方才创建的强范例DataSet了,[选择营业工具]→[authorsTableAdapters.authorstableAdapter]→[界说数据办法]分离选择Select,Update,Insert,Delete的办法,即我们方才创建的DeleteQuery,InsertQuery,UpdateQuery,SelectDetail,ScalarQuery和体系天生的GetDate]。此时设置ObejctDataSource就竣工了。
<P> 把GridView的DataSourceID设置成ObjectDataSource,此时我们就已创建好了完全的一个数据编纂功效。看是否是很复杂。
固然,我们在举行企业开辟的时分,更习气于在背景编纂,如今我就给出在背景举行手工编纂的代码:
//数据绑定部分
if(!Page.IsPostBack)
{
authorsTableAdapters.authorsTableAdapterta=newauthorsTableAdapters.authorsTableAdapter();
//authorsTableAdapter就是我们创建的强范例的
GridView1.DataSource=ta.GetData();
GridView1.DataBind();
}
//删除数据
protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
authorsTableAdapters.authorsTableAdapterta=newauthorsTableAdapters.authorsTableAdapter();
ta.DeleteQuery(GridView1.DataKeys[e.RowIndex].Value);
}
//前往单条数据
authorsTableAdapters.authorsTableAdapterta=newauthorsTableAdapters.authorsTableAdapter();
DataTabledt=ta.SelectDetail(Request.QueryString["id"].ToString());
if(dt.Rows.Count>0)
Response.Write(dt.Rows[0]["address"].ToString());
//前往数据统计
authorsTableAdapters.authorsTableAdapterta=newauthorsTableAdapters.authorsTableAdapter();
Response.Write(ta.ScalarQuery().ToString());
至此,我们不难发明,2005给我们的开辟供应了奔腾性的改动。我们能够经由过程强范例数据集很便利疾速的举行多层构架开辟,而且进步开辟速率。
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。 |
|