成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VS2005中的強類型DataSet簡化開發

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

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

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

下邊通過一個例子來詳細介紹如何通過Visual Studio 2005來生成強類型DataSet簡化開發流程,生成可伸縮性的多層數據庫應用程序。

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

此時IDE會自動打開我們剛才建立好的Authors.xsd文件,并且開始運行TableAdapter配置向導,如果Web.Config沒有數據庫連結字符串,此時我們需要新建立一個連接:選擇[新建連結] →[Microsoft SQL Server] →[選擇系統自帶的pubs數據庫] →[將新建立的連結字符串保存到應用程序配置文件中]。

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

1、 使用SQL語句,如果是單個表,向導可以自動生成 Insert,Update和Delete語句。本例子也是使用的這種方法。

2、 創建新的存儲過程。同樣如果是單個表,向導可以自動生成 Insert,Update和Delete語句。

3、 使用現有存儲過程。需要為每一個命令選擇相應的現有存儲過程。

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

此時創建向導會自動給我們生成"Select語句","數據表的映射",以及"Get方法"。我們創建的過程就結束了。這是我們發現DataSet.xsd會自動生成一個authors表和一個包含Get方法的數據集authorsTableAdapter。

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

以下是生成的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的數據源,此時我們會發現在配置的時候系統已經認出來我們剛才建立的強類型DataSet了,[選擇業務對象] →[authorsTableAdapters.authorstableAdapter] →[定義數據方法]分別選擇Select,Update,Insert,Delete的方法,即我們剛才建立的DeleteQuery,InsertQuery,UpdateQuery,SelectDetail,ScalarQuery和系統生成的GetDate]。此時配置ObejctDataSource就完工了。

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

當然,我們在進行企業開發的時候,更習慣于在后臺編輯,現在我就給出在后臺進行手工編輯的代碼:

  1. //數據綁定部分   
  2. if (!Page.IsPostBack)   
  3. {   
  4. authorsTableAdapters.authorsTableAdapter ta = new authorsTableAdapters.authorsTableAdapter();   
  5. //authorsTableAdapter就是我們建立的強類型的   
  6. GridView1.DataSource = ta.GetData();   
  7. GridView1.DataBind();   
  8. }   
  9. //刪除數據   
  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. //返回單條數據   
  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. //返回數據統計   
  21. authorsTableAdapters.authorsTableAdapter ta = new authorsTableAdapters.authorsTableAdapter();   
  22. Response.Write(ta.ScalarQuery().ToString());  

至此,我們不難發現,Visual Studio 2005給我們的開發提供了飛躍性的改變。我們可以通過強類型數據集很方便快速的進行多層構架開發,并且提高開發速度。

【編輯推薦】

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

2009-12-04 14:12:13

VS2005 Tea

2011-08-24 09:45:00

VS2005Luabindlua

2009-12-14 13:52:54

VS 2005程序

2009-12-04 13:20:03

VS2005安裝

2009-11-26 14:27:46

開發VS2005

2009-12-10 13:40:03

VS2005程序

2009-12-17 13:33:14

VS2005類

2009-12-09 11:02:56

VS 2005 Tea

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-17 14:09:03

VS2005代碼

2009-12-16 15:49:58

VS 2008性能

2009-11-24 16:40:13

VS2005軟件

2009-12-01 17:19:19

VS2005配置環境

2010-07-08 08:33:46

SQL Server

2009-11-25 09:18:05

VS2005軟件

2009-11-25 16:54:51

VS2005開發工具

2011-04-13 08:49:33

DataSet強類型化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜精品一区二区三区免费视频 | 91精品国产综合久久久久久丝袜 | 九九在线视频 | 国产一区二区欧美 | 亚洲激情在线视频 | 三级免费毛片 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 午夜影视 | 91亚洲国产成人久久精品网站 | 精品91久久久| 国产三级在线观看播放 | 99热首页| 美女久久久久 | 免费看的av | 中文字幕亚洲精品 | 国产精久久久久久 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 91福利电影在线观看 | 久久精品亚洲一区 | 日韩精品久久一区二区三区 | 黄色av免费网站 | 亚洲播放 | 9191av| 国产精品大片 | 久久久久国产精品 | 国产成在线观看免费视频 | 成人中文网 | 日韩精品av一区二区三区 | 精品免费在线 | av天天干| 日本精品久久久久久久 | 免费观看的黄色网址 | 日韩一及片 | 亚洲久在线 | 国产精品一区久久久 | 91影院 | 午夜网| 秋霞电影一区二区三区 | 成人精品鲁一区一区二区 | 久久高清亚洲 | 操射视频 |