国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

VS2005中的強(qiáng)類型DataSet簡化開發(fā)

開發(fā)
在日常開發(fā)中,為了編寫數(shù)據(jù)的增加、更新、修改、刪除等功能而不得不面對枯燥的代碼,做重復(fù)又重復(fù)的工作。這時我們需要通過Visual Studio 2005中的強(qiáng)類型DataSet簡化開發(fā)。

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

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

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

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

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

在接下來的選擇命令類型的時候,IDE出來三個選項來供用戶選擇訪問呢數(shù)據(jù)庫的形式:

1、 使用SQL語句,如果是單個表,向?qū)Э梢宰詣由?Insert,Update和Delete語句。本例子也是使用的這種方法。

2、 創(chuàng)建新的存儲過程。同樣如果是單個表,向?qū)Э梢宰詣由?Insert,Update和Delete語句。

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

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

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

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

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

  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  

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

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

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

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

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

【編輯推薦】

  1. WCF中DataSet和類庫枚舉型居然不能同時使用
  2. ADO.NET 2.0中的DataSet和DataTable
  3. 一個無法捕獲ADO.NET Dataset的內(nèi)存錯誤
  4. 深入分析ADO.NET中的DataSet對象
  5. C#中將DataSet的內(nèi)容寫成XML時如何格式化字段數(shù)據(jù)
責(zé)任編輯:彭凡 來源: IT專家網(wǎng)論壇
相關(guān)推薦

2009-12-04 14:12:13

VS2005 Tea

2011-08-24 09:45:00

VS2005Luabindlua

2009-11-26 14:27:46

開發(fā)VS2005

2009-12-17 13:33:14

VS2005類

2009-12-10 13:40:03

VS2005程序

2009-12-09 11:02:56

VS 2005 Tea

2009-12-04 13:20:03

VS2005安裝

2009-12-14 13:52:54

VS 2005程序

2009-11-25 16:45:46

VS2005軟件

2009-12-01 16:59:06

VS2005配置

2009-12-04 16:23:36

VS2005Team

2009-12-11 09:34:14

VS2005程序

2009-12-01 17:19:19

VS2005配置環(huán)境

2009-11-24 16:40:13

VS2005軟件

2009-12-17 14:09:03

VS2005代碼

2009-12-16 15:49:58

VS 2008性能

2010-07-08 08:33:46

SQL Server

2009-11-25 09:18:05

VS2005軟件

2009-12-01 09:30:45

2023-08-11 18:16:08

DevOps開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲欧美韩国| 老司机aⅴ在线精品导航| 亚洲欧洲成人精品av97| 欧美日韩三区四区| 国产精品最新| 久久久久久久久中文字幕| 视频小说一区二区| 成人伦理视频网站| 白白色亚洲国产精品| 日本在线免费观看一区| 欧美~级网站不卡| 国产日韩换脸av一区在线观看| 欧美一区二区三区婷婷| 亚洲美女免费精品视频在线观看| 麻豆视频网站在线观看| 在线观看一区二区精品视频| 免费毛片aaaaaa| 一区二区三区四区中文字幕| 在线成人私人影院| 中文字幕成人网| 久久婷婷综合色| 最新欧美精品一区二区三区| 99re6在线视频| 中文字幕一区二区三区在线不卡| 中文字幕在线综合| 亚洲免费在线电影| 污网站在线看| 欧美日本乱大交xxxxx| 在线中文资源天堂| 精品欧美一区二区在线观看| 黄色在线视频网站| 亚洲福利小视频| 久久久人成影片一区二区三区在哪下载| 精品成人佐山爱一区二区| 欧洲黄色一区| 伊人精品在线观看| 一区二区三区自拍视频| 97欧美精品一区二区三区| 精品国产91久久久久久浪潮蜜月| 亚洲xxxxx| 久久精品综合| 国产资源在线免费观看| 国产精品超碰97尤物18| 青青操视频在线| 精品国产乱子伦一区| 国产高清不卡| 欧美亚洲国产视频| 亚洲国产免费看| 国产911在线观看| 国产精品久久久久一区| 免费看男男www网站入口在线| 欧美成人精品二区三区99精品| 亚洲人免费短视频| 欧美在线视频一区二区| 欧美日韩一卡| 欧美精品在欧美一区二区| 国产精品久久久久影院老司| 欧美视频综合| 亚洲天堂成人在线视频| 天天躁日日躁成人字幕aⅴ| 不卡一区二区三区视频| 国产一区在线不卡| 美女一级全黄| 精品不卡在线视频| 国产成人澳门| 欧美激情一区二区三区在线视频 | 亚洲精品国产系列| 91麻豆国产自产在线观看| 独立日3在线观看完整版| 91福利视频在线| 四虎4545www精品视频| 国产精品久久久久久久久久99| 美女精品在线观看| 国产羞羞视频| 亚洲国产精品久久久久| 五月天亚洲一区| 亚洲一区二区在线观| 亚洲精品国产视频| 99re6在线精品视频免费播放| 97视频免费看| 另类中文字幕网| 导航福利在线| 久久综合国产精品台湾中文娱乐网| 欧美福利影院| 黄色三级视频片| 亚洲精品一区二区三区精华液 | 日韩精品社区| 福利网在线观看| 色伊人久久综合中文字幕| 亚洲人成777| 视频在线99| 日韩欧美国产黄色| 2021年精品国产福利在线| 日韩动漫在线观看| 狠狠色狠狠色综合日日五| 青草综合视频| 亚洲二区自拍| 欧美色网一区二区| 国产精品一区二区果冻传媒| 国产超碰精品在线观看| 日韩免费看网站| 国产精品欧美日韩一区| 2021狠狠干| 婷婷夜色潮精品综合在线| 国产精品麻豆成人av电影艾秋| 国产精品乱码视频| 亚洲欧洲av在线| 电影天堂国产精品| 欧美激情第六页| 大桥未久av一区二区三区| 国产精品色婷婷在线观看| 日韩av图片| 欧洲一区二区av| 国产日产精品_国产精品毛片| 搞av.com| 亚洲精品国精品久久99热| 欧美日韩国产探花| 国产一级二级在线| 亚洲3p在线观看| 91在线视频免费观看| 成人免费观看在线观看| 免费观看成人高| 欧美日韩大陆一区二区| 欧美好骚综合网| 91免费版在线观看| 日韩免费黄色av| 国产精品电影院| 日韩一区二区三区高清在线观看| 中文字幕精品在线播放| 日韩亚洲欧美一区| 国产精品嫩草99av在线| av网站在线播放| 97久久精品午夜一区二区| 午夜精品成人在线视频| 成人高清电影网站| 性欧美16一18| 国产日韩精品在线播放| 亚洲图片欧美一区| 久久福利综合| 亚洲综合色视频在线观看| 国产精品爽黄69| 午夜精品影院在线观看| 欧美日韩国产高清电影| 加勒比久久综合| 91网址在线看| 五月激情久久| 夜夜添无码一区二区三区| 亚洲天堂网在线观看| 亚洲国产精品一区在线观看不卡 | 欧美69视频| 在线观看av免费| 天堂男人av| 人人妻人人澡人人爽精品欧美一区| 在线精品国产成人综合| 亚洲一区自拍偷拍| 国产成人av影院| 视频在线在亚洲| 日韩欧美精品一区| 亚洲第一二三区| 亚洲国产中文在线| 亚洲**毛片| 玖玖玖视频精品| 有色激情视频免费在线| 99免费视频观看| 欧美中日韩一区二区三区| 久久成人精品电影| 欧美美女一区二区在线观看| 亚洲免费视频中文字幕| 成人午夜视频免费看| 成人av片在线观看| 国产精品久久久亚洲一区| 在线看片一区| 无人区乱码一区二区三区| 男人在线资源站| 超碰在线免费公开| 特级毛片在线| 偷拍自拍在线看| 超免费在线视频| 99视频有精品高清视频| jizz免费一区二区三区| 在线日韩成人| 欧美日韩亚洲一区| 黑人一区二区| 日本成人在线视频网站| 亚洲国产成人精品女人| 99精品国产高清一区二区麻豆| av在线免费观看网| 最近中文字幕在线| 绿色成人影院| 精品国产午夜| 午夜精品999| 国产免费黄色小视频| 欧美激情精品久久久久久久变态| 亚洲精品视频自拍| 日韩电影在线免费看| 国产精品毛片无码| 69av在线| 成全视频全集| 午夜久久久久久久久久久| 国产女精品视频网站免费|