日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
VS2005中的強(qiáng)類型DataSet簡(jiǎn)化開(kāi)發(fā)

.NET 2.0的發(fā)布,對(duì)我們程序開(kāi)發(fā)人員來(lái)說(shuō)無(wú)疑是一件很大的喜事,Visual Studio 2005 的一些新的增強(qiáng)功能和ADO.NET 2.0的新特性讓我們開(kāi)發(fā)高可伸縮的多層數(shù)據(jù)庫(kù)應(yīng)用程序更加簡(jiǎn)單和快捷。

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),松滋網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:松滋等地區(qū)。松滋做網(wǎng)站價(jià)格咨詢:028-86922220

在.NET 1.1下就可以使用強(qiáng)類型數(shù)據(jù)集,可是在Visual Studio 2003里開(kāi)發(fā)起來(lái)還是有一些不方便,在Visual Studio 2005里對(duì)DataSet的設(shè)計(jì)視圖做了很大的改進(jìn),因?yàn)锳DO.NET 2.0增加了TableAdapter對(duì)象,所以現(xiàn)在也可以在DataSet設(shè)計(jì)視圖里添加DataTable的表適配器。以前的typedDataSets只是一些數(shù)據(jù)實(shí)體(啞對(duì)象,只有屬性的類)的集合,并不能很方便的自我管理持久化,以及數(shù)據(jù)完整性驗(yàn)證等?,F(xiàn)在可以很方便的實(shí)現(xiàn)這些。

下邊通過(guò)一個(gè)例子來(lái)詳細(xì)介紹如何通過(guò)Visual Studio 2005來(lái)生成強(qiáng)類型DataSet簡(jiǎn)化開(kāi)發(fā)流程,生成可伸縮性的多層數(shù)據(jù)庫(kù)應(yīng)用程序。

首先新建立一個(gè)Web網(wǎng)站項(xiàng)目,在[解決方案資源管理器]→[添加新項(xiàng)] →[數(shù)據(jù)集],命名為Authors.xsd,由于強(qiáng)類型DataSet需要放到App_Code目錄,如果此時(shí)項(xiàng)目文件中沒(méi)有App_Code目錄,IDE會(huì)提示是否創(chuàng)建,我們選擇"是"即可。

此時(shí)IDE會(huì)自動(dòng)打開(kāi)我們剛才建立好的Authors.xsd文件,并且開(kāi)始運(yùn)行TableAdapter配置向?qū)?,如果Web.Config沒(méi)有數(shù)據(jù)庫(kù)連結(jié)字符串,此時(shí)我們需要新建立一個(gè)連接:選擇[新建連結(jié)] →[Microsoft SQL Server] →[選擇系統(tǒng)自帶的pubs數(shù)據(jù)庫(kù)] →[將新建立的連結(jié)字符串保存到應(yīng)用程序配置文件中]。

在接下來(lái)的選擇命令類型的時(shí)候,IDE出來(lái)三個(gè)選項(xiàng)來(lái)供用戶選擇訪問(wèn)呢?cái)?shù)據(jù)庫(kù)的形式:

1、 使用SQL語(yǔ)句,如果是單個(gè)表,向?qū)Э梢宰詣?dòng)生成 Insert,Update和Delete語(yǔ)句。本例子也是使用的這種方法。

2、 創(chuàng)建新的存儲(chǔ)過(guò)程。同樣如果是單個(gè)表,向?qū)Э梢宰詣?dòng)生成 Insert,Update和Delete語(yǔ)句。

3、 使用現(xiàn)有存儲(chǔ)過(guò)程。需要為每一個(gè)命令選擇相應(yīng)的現(xiàn)有存儲(chǔ)過(guò)程。

我們這里選擇[使用SQL語(yǔ)句] →[查詢生成器] →[authors表,選擇所有列],此時(shí)查詢生成器會(huì)自動(dòng)給我們生成 SQL語(yǔ)句(SELECT authors.* FROM authors)。[高級(jí)選項(xiàng)],可以選擇是否生成Insert,Update和Delete語(yǔ)句,使用開(kāi)放式并發(fā)來(lái)防止并發(fā)沖突,刷新數(shù)據(jù)表,用來(lái)驗(yàn)證 Insert和Update語(yǔ)句,為了能夠更清晰的介紹使用方法,我們這里全部都不選擇,而讓我們以后根據(jù)需要自行添加。[選擇要生成的方法] ,我們只需要使用[返回DataTable],其余的選項(xiàng)的對(duì)號(hào)去掉。

此時(shí)創(chuàng)建向?qū)?huì)自動(dòng)給我們生成"Select語(yǔ)句","數(shù)據(jù)表的映射",以及"Get方法"。我們創(chuàng)建的過(guò)程就結(jié)束了。這是我們發(fā)現(xiàn)DataSet.xsd會(huì)自動(dòng)生成一個(gè)authors表和一個(gè)包含Get方法的數(shù)據(jù)集authorsTableAdapter。

同樣,在我們建立好的數(shù)據(jù)表[authorsTableAdapter]右鍵→添加查詢,參照上邊的方法生成DeleteQuery(刪除),InsertQuery(增加),UpdateQuery(更新)、SelectDetail(返回詳細(xì)結(jié)果,使用Select(返回行)選項(xiàng),生成一個(gè)只包括一條數(shù)據(jù)的數(shù)據(jù)集) 以及ScalarQuery(返回?cái)?shù)據(jù)統(tǒng)計(jì))。

以下是生成的SQL語(yǔ)句,需要手工修改成自己需要的代碼:

 
 
 
  1.  DeleteQuery:DELETE FROM [authors] WHERE ([au_id] = @Original_au_id) 
  2. InsertQuery:INSERT into authors (au_lname,au_fname,phone,address,city,state,zip,contract) values (@au_lname,@au_fname,@phone,@address,@city,@state,@zip,@contract) 
  3. UpdateQuery :UPDATE authors set au_lname=@au_lname,au_fname=@au_fname,phone=@phone, 
  4. address=@address,city=@city,state=@state,zip=@zip,contract=@contract where au_id=@au_id 
  5. SelectDetail:SELECT authors.* FROM authors where au_id=@au_id 
  6. ScalarQuery :SELECT COUNT(*) FROM authors 

打開(kāi)Default.aspx,并添加一個(gè)GridView控件,并且添加一個(gè)ObjectDataSource控件,配置ObjecctDataSource的數(shù)據(jù)源,此時(shí)我們會(huì)發(fā)現(xiàn)在配置的時(shí)候系統(tǒng)已經(jīng)認(rèn)出來(lái)我們剛才建立的強(qiáng)類型DataSet了,[選擇業(yè)務(wù)對(duì)象] →[authorsTableAdapters.authorstableAdapter] →[定義數(shù)據(jù)方法]分別選擇Select,Update,Insert,Delete的方法,即我們剛才建立的DeleteQuery,InsertQuery,UpdateQuery,SelectDetail,ScalarQuery和系統(tǒng)生成的GetDate]。此時(shí)配置ObejctDataSource就完工了。

把GridView的DataSourceID設(shè)置成ObjectDataSource,此時(shí)我們就已經(jīng)建立好了完整的一個(gè)數(shù)據(jù)編輯功能。看是不是很簡(jiǎn)單。

當(dāng)然,我們?cè)谶M(jìn)行企業(yè)開(kāi)發(fā)的時(shí)候,更習(xí)慣于在后臺(tái)編輯,現(xiàn)在我就給出在后臺(tái)進(jìn)行手工編輯的代碼:

 
 
 
  1. //數(shù)據(jù)綁定部分 
  2. if (!Page.IsPostBack) 
  3. authorsTableAdapters.authorsTableAdapter ta = new authorsTableAdapters.authorsTableAdapter(); 
  4. //authorsTableAdapter就是我們建立的強(qiáng)類型的 
  5. GridView1.DataSource = ta.GetData(); 
  6. GridView1.DataBind(); 
  7. //刪除數(shù)據(jù) 
  8. protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
  9. authorsTableAdapters.authorsTableAdapter ta = new authorsTableAdapters.authorsTableAdapter(); 
  10. ta.DeleteQuery(GridView1.DataKeys[e.RowIndex].Value); 
  11. //返回單條數(shù)據(jù) 
  12. authorsTableAdapters.authorsTableAdapter ta = new authorsTableAdapters.authorsTableAdapter(); 
  13. DataTable dt = ta.SelectDetail(Request.QueryString["id"].ToString()); 
  14. if (dt.Rows.Count >0) 
  15. Response.Write(dt.Rows[0]["address"].ToString()); 
  16. //返回?cái)?shù)據(jù)統(tǒng)計(jì) 
  17. authorsTableAdapters.authorsTableAdapter ta = new authorsTableAdapters.authorsTableAdapter(); 
  18. Response.Write(ta.ScalarQuery().ToString()); 

至此,我們不難發(fā)現(xiàn),Visual Studio 2005給我們的開(kāi)發(fā)提供了飛躍性的改變。我們可以通過(guò)強(qiáng)類型數(shù)據(jù)集很方便快速的進(jìn)行多層構(gòu)架開(kāi)發(fā),并且提高開(kāi)發(fā)速度。


網(wǎng)站欄目:VS2005中的強(qiáng)類型DataSet簡(jiǎn)化開(kāi)發(fā)
文章出自:http://m.5511xx.com/article/djjejhi.html