自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET SqlDataSource控件入門(mén)

開(kāi)發(fā) 后端
本文主要講解SqlDataSource控件兩個(gè)屬性:ConnectionString和SelectCommand.作者通過(guò)兩個(gè)簡(jiǎn)單的示例說(shuō)明SqlDataSource控件的詳細(xì)使用方法。

當(dāng)使用SqlDataSource控件選擇數(shù)據(jù)時(shí),可以從兩個(gè)屬性:ConnectionString和SelectCommand開(kāi)始,如下所示:

  1. 〈asp:SqlDataSource ID="MySourceControlName"   
  2. Runat="server" 
  3. ConnectionString="Server=MyServer ;  
  4. Database=Northwind"  
  5. SelectCommand=" SELECT Fieldl,   
  6. [Field With SpaceFROM MyTable" 〉  
  7. 〈/asp:SglDataSource 〉 

當(dāng)使用Windows認(rèn)證時(shí),可以添加兩個(gè)認(rèn)證數(shù)據(jù)。

  1. 〈asp:SqlDataSource ID="MySourceControlName"   
  2. Runat="server" 
  3. ConnectionString="Server=MyServer ;  
  4. User ID=MyID;Password=Mypass;  
  5. Database=Northwind"  
  6. SelectCommand=" SELECT Field1,   
  7. [Field With SpaceFROM MyTable" 〉  
  8. 〈/asp:SqlDataSource 〉 

第一個(gè)是前面討論過(guò)的連接字符串,第二個(gè)是SelectCommand,用來(lái)確定將從SQL Server數(shù)據(jù)庫(kù)中提取什么信息。在SelectCommand中,可以使用任何符合語(yǔ)法的SQL SELECT語(yǔ)句,包括在上一章或者附錄A中討論的語(yǔ)句。很多SQL Server管理員都不會(huì)允許用戶直接訪問(wèn)表。數(shù)據(jù)庫(kù)管理員將會(huì)在SPROC上創(chuàng)建一些受限制的許可。或者,創(chuàng)建表的視圖用來(lái)提供表的一部分?jǐn)?shù)據(jù)或者對(duì)表中可以修改的數(shù)據(jù)進(jìn)行限制。連接至視圖的語(yǔ)法如下:

  1. SelectCommand="SELECT * from MyView" 

如果表、查詢、SPROC或者視圖的名稱(chēng)中有空格字符,則應(yīng)當(dāng)使用方括號(hào)將整個(gè)名稱(chēng)包含起來(lái),如下所示:

  1. SelectCommand="SELECT * from [My View] " 

您可能已經(jīng)注意到了GridView中的Filter屬性并且想知道它與在數(shù)據(jù)源SelectCommand中使用WHERE子句之間有何不同。篩選只用于某些緩沖情況。

有了連接字符串和SelectCommand,就可以創(chuàng)建從SQL Server使用數(shù)據(jù)的頁(yè)面了。

試一試#1—— SqlDataSource恐懼簡(jiǎn)單示例

在本練習(xí)中,應(yīng)該以網(wǎng)格(表)格式從Northwind的SQL版本顯示產(chǎn)品的GridView??梢砸蕴砑覦ataSource控件和數(shù)據(jù)綁定控件的技術(shù)開(kāi)始,這樣就能夠創(chuàng)建最簡(jiǎn)單的源代碼。然后將會(huì)使用一種更快速的開(kāi)發(fā)技術(shù)(拖放列名稱(chēng))。

(1) 請(qǐng)確認(rèn)已經(jīng)安裝了SSE(如第1章所述),包括樣本數(shù)據(jù)庫(kù)Northwind。本練習(xí)還將涉及到SQL Server或者M(jìn)SDE。

(2) 創(chuàng)建文件夾ch03,在其中創(chuàng)建一個(gè)名為T(mén)IO-1-SqlSimple-1.ASPX的文件。通過(guò)Menu:View|Toolbox(Ctrl+Alt+X)顯示工具箱。請(qǐng)注意工具箱有一個(gè)可以展開(kāi)的Data區(qū)域。

(3) 在Design視圖中,從工具箱的Data區(qū)域中拖放一個(gè)SqlDataSource控件至頁(yè)面。在便捷任務(wù)面板上,將數(shù)據(jù)源配置為新的連接。輸入服務(wù)器名稱(chēng)(local)\SQLExpress并使用Windows NT認(rèn)證。選擇名為Northwind的數(shù)據(jù)庫(kù)并測(cè)試連接。單擊OK結(jié)束。您將會(huì)自動(dòng)返回至Data Source Configuration對(duì)話框,單擊Next。對(duì)本例來(lái)說(shuō),不需要在配置文件中保存連接字符串;單擊Next。選擇“Specify columns from a table”并選擇表名Products。在Columns列表中,單擊ID、Name和Unit Price。單擊Next和Test Query,然后單擊Finish。這樣就完成添加DataSource控件了。

(4) 添加GridView數(shù)據(jù)綁定控件。在便捷任務(wù)面板中,選擇SqlDataSource控件,然后關(guān)閉便捷任務(wù)面板。這樣就創(chuàng)建了數(shù)據(jù)綁定控件。保存并運(yùn)行頁(yè)面,頁(yè)面如下:

  1. 〈%@ Page Language="VB" % 〉  
  2. 〈!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
  3. "http://www.w3.org/TR/xhtmlll/DTD/xhtmlll.dtd" 〉  
  4. 〈script runat="server" 〉  
  5. 〈/script 〉  
  6. 〈html xmlns="http://www.w3.org/1999/xhtml"  〉  
  7. 〈head runat="server" 〉  
  8. 〈title 〉Ch03-Tio#l-SqlSimple-verl〈/title 〉  
  9. 〈/head 〉  
  10. 〈body 〉  
  11. 〈h2 〉  
  12. Chapter 3 TIO #1 SqlSimple verl  
  13. 〈/h2 〉  
  14. 〈form id="forml" runat="server" 〉  
  15. 〈div 〉  
  16. 〈asp:SqlDataSource ID="SqlDataSourcel"   
  17. Runat="server"ProviderName="System.Data.SqlClient" 
  18. ConnectionString="Server=(local)\SQLExpress;  
  19. Integrated Security=True;  
  20. Database=Northwind;  
  21. Persist Security Info=True"  
  22. SelectCommand="SELECT [ProductID],   
  23. [ProductName], [UnitPrice] FROM[Products]" 〉  
  24. 〈/asp:SqlDataSource 〉  
  25. 〈asp:GridView ID="GridViewl" Runat="server" 
  26. DataSourceID="SqlDataSourcel" 
  27. DataKeyNames="ProductID" 
  28. AutoGenerateColumns="False" 〉  
  29. 〈Columns 〉  
  30. 〈asp:BoundField ReadOnly="True"   
  31. HeaderText="ProductID" 
  32. InsertVisible="False" DataField="ProductID" 
  33. SortExpression=" ProductID"  〉  
  34. 〈/asp: BoundField 〉  
  35. 〈asp:BoundField HeaderText="  
  36. ProductName"DataField="ProductName"  
  37. SortExpression="ProductName" 〉  
  38. 〈/asp:BoundField 〉  
  39. 〈asp:BoundField HeaderText="  
  40. UnitPrice" DataField="UnitPrice"  
  41. SortExpression="UnitPrice" 〉  
  42. 〈/asp:BoundField 〉  
  43. 〈/Columns 〉  
  44. 〈/asp:GridView 〉  
  45. 〈/div 〉  
  46. 〈/form 〉  
  47. 〈/body 〉  
  48. 〈/html 〉 

(5) 關(guān)閉瀏覽器并查看一下Source視圖中的頁(yè)面。請(qǐng)注意,在頁(yè)面的〈 form 〉中間有兩個(gè)控件。SqlDataSource有ConnectionString和SelectCommand。GridView具有一些與SqlDataSource控件的字段綁定的列。

(6) 現(xiàn)在可以使用快速的技術(shù)添加第二個(gè)表了。將頁(yè)面保存為T(mén)IO-1-SqlSim- ple-2.ASPX。切換至Design視圖。在菜單中,依次單擊View- 〉Database Explorer。在Data Connections上單擊右鍵并選擇Add Connection。與上一步驟一樣,您將面對(duì)連接屬性對(duì)話框。輸入服務(wù)器名稱(chēng)(local)\SQLExpress,使用Windows NT安全,并選擇名為Northwind的數(shù)據(jù)庫(kù)。測(cè)試連接并單擊OK以關(guān)閉對(duì)話框。請(qǐng)注意在數(shù)據(jù)庫(kù)瀏覽窗口中的新項(xiàng)目。

(7) 展開(kāi)新的(local)\SqlExpress.Northwind.dbo連接,然后展開(kāi)它的表。展開(kāi)Categories表。使用Ctrl+單擊的方式選擇CategoryID、CategoryName和Description字段并將它們拖放至頁(yè)面的底部。雖然便捷任務(wù)面板將為您打開(kāi)新的GridView,但是可以關(guān)閉它。鍵入F5來(lái)運(yùn)行頁(yè)面。向下滾動(dòng)欣賞您僅僅通過(guò)從Category表拖放列名就創(chuàng)建出來(lái)的頁(yè)面。以下是版本2的其他源代碼。請(qǐng)注意,當(dāng)拖放列名的時(shí)候,您會(huì)得到一大組代碼,包括在SqlDataSource控件中的一系列參數(shù)。

  1. ...  
  2.  
  3. 〈asp:SqlDataSource ID="SqlDataSourcel"   
  4. Runat="server" 
  5. 〈asp:GridView ID="GridViewl"   
  6. Runat="server" 
  7. ...  
  8.  
  9. 〈asp:GridView ID="GridView2" Runat="server" 
  10. DataSourceID="SqlDataSource2"   
  11. DataKeyNames="CategoryID" 
  12. AutoGenerateColumns="False" 
  13. EmptyDataText="There are no data   
  14. records to display." 〉  
  15. 〈Columns 〉  
  16. 〈asp:BoundField ReadOnly="True"   
  17. HeaderText="CategoryID" 
  18. DataField="CategoryID" 
  19. SortExpression="Category ID" 〉  
  20. 〈/asp:BoundField 〉  
  21. 〈asp:BoundField HeaderText="  
  22. CategoryName"DataField="CategoryName"  
  23. SortExpression="CategoryMame" 〉  
  24. 〈/asp:BoundField 〉  
  25. 〈asp:BoundField  
  26. HeaderText="Description" DataField="Description" 
  27. SortExpression="Description" 〉〈/asp:BoundField 〉  
  28. 〈/Columns 〉  
  29. 〈/asp:GridView 〉  
  30. 〈asp:SqlDataSource ID="SqlDataSource2" Runat="server" 
  31. ProviderName="〈%$ ConnectionStrings:  
  32. AppConnectionString2 . ProviderName % 〉"  
  33. ConnectionString="〈%$ ConnectionStrings:  
  34. AppConnectionString2 % 〉"  
  35. SelectCommand="SELECT[CategoryID],  
  36. [CategoryName] ,[Desc- ription] FROM 
  37. [Categories]"  
  38. UpdateCommand="UPDATE[Categories]SET 
  39. [CategoryName]=@CategoryName,  
  40. [Description] = @Description WHERE[CategoryID]=  
  41. @original_CategoryID"  
  42. InsertCommand="INSERT INTO[Categories]  
  43. ([CategoryName],[Description]  
  44. VALUES (@CategoryName, @Description)"  
  45. DeleteCommand="DELETE FROM [Categories]   
  46. WHERE [CategoryID] =  
  47. @original_CategoryID" 〉  
  48. 〈DeleteParameters 〉  
  49. 〈asp:Parameter Type="Int32"   
  50. Name="CategoryID" 〉〈/asp:Parameter 〉  
  51. 〈/DeleteParameters 〉  
  52. 〈InsertParameters 〉  
  53. 〈asp:Parameter Type="String" 
  54. Name="CategoryName" 〉〈/asp:Parameter 〉  
  55. 〈asp: Parameter Type="String"   
  56. Name="Description" 〉〈/asp: Parameter 〉  
  57. 〈/InsertParameters 〉  
  58. 〈UpdateParameters 〉  
  59. 〈asp:Parameter Type="String"   
  60. Name="CategoryName" 〉〈/asp:Parameter 〉  
  61. 〈asp:ParameterType="String"   
  62. Name="Description" 〉〈/asp:Parameter 〉  
  63. 〈asp:Parameter Type="Int32" 
  64. Name="CategoryID" 〉〈/asp:Parameter 〉  
  65. 〈/UpdateParameters 〉  
  66. 〈/asp:SqlDataSource 〉 

示例說(shuō)明#1—— SqlDataSource簡(jiǎn)單示例

對(duì)語(yǔ)法來(lái)說(shuō),SqlDataSource與我們?cè)诘?章所使用的AccessDataSource相差無(wú)幾。最大的差別就是連接字符串的使用(而不是指定數(shù)據(jù)文件)。兩者相似的意義是對(duì)一種控件的知識(shí)可以幫助了解其他的數(shù)據(jù)源控件。

連接字符串向SqlDataSource傳遞了三個(gè)參數(shù):

● SQL Server的名稱(chēng)

● 將要使用的數(shù)據(jù)庫(kù)的名稱(chēng)或者視圖的名稱(chēng)

● 指示在隨后的SSE登錄中持續(xù)使用Windows認(rèn)證

不論是對(duì)表還是視圖來(lái)說(shuō),如果其名稱(chēng)中包含空格,就必須將名稱(chēng)包括在方括號(hào)之中。第二個(gè)參數(shù)提供了一個(gè)符合標(biāo)準(zhǔn)SQL語(yǔ)法的選擇命令。

當(dāng)我們轉(zhuǎn)移至版本2時(shí),使用了VWD的完全功能。通過(guò)添加連接至Database Explorer,我們讓VWD明白數(shù)據(jù)庫(kù)的模式。VWD將會(huì)顯示表和列名。在拖放列名至頁(yè)面時(shí),VWD將創(chuàng)建包含了支持的DataSource控件在內(nèi)的GridView。

【編輯推薦】

  1. 在ASP.NET中向數(shù)據(jù)庫(kù)批量插入數(shù)據(jù)
  2. ASP.NET用Post方式向網(wǎng)頁(yè)發(fā)送數(shù)據(jù)
  3. ASP.NET 2.0部署WEB應(yīng)用程序淺析
  4. ASP.NET中的HttpWorkerRequest對(duì)像
  5. 介紹ASP.NET MVC框架
責(zé)任編輯:冰荷 來(lái)源: yesky
相關(guān)推薦

2009-08-27 16:59:20

ASP.NET用戶控件

2009-08-10 14:16:59

ASP.NET自定義控

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門(mén)教程

2009-08-04 10:43:59

ASP.NET控件開(kāi)發(fā)

2009-08-19 13:44:00

ASP.NET Lis

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-08-05 15:57:03

ASP.NET控件ID

2009-08-17 09:24:25

ASP.NET控件

2009-07-27 13:52:36

Panel控件ASP.NET

2009-07-27 16:19:59

ASP.NET報(bào)表控件

2009-07-27 17:25:53

ASP.NET驗(yàn)證控件

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-08-07 15:24:16

ASP.NET模板控件

2009-08-07 17:49:44

控件設(shè)計(jì)器

2009-08-04 15:58:06

ASP.NET動(dòng)態(tài)控件

2009-07-21 15:50:47

ASP.NET控件JavaScript

2009-07-29 13:32:06

ASP.NET控件使用

2009-07-20 13:32:24

ScriptManagASP.NET

2009-07-20 13:54:31

ScriptManagASP.NET AJA

2009-08-04 11:29:14

HTML代碼ASP.NET控件
點(diǎn)贊
收藏

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