ASP.NET 2.0教程 數據源控件解析
在沒有講述 數據源控件 之前,我們先來認識一下數據源控件、數據綁定控件之間的關系。
數據源控件封裝所有獲取和處理數據的功能,主要包括連接數據源、使用Select、Update、Delete和Insert等對數據進行管理。
數據綁定控件主要用于將數據于前臺顯示出來。通常情況下,我們常常先用數據源控件取得數據集合,然后使用數據綁定控件將數據集合綁定并呈現在頁面上。
數據綁定控件包括GridView、DetailsView、FormView、TreeView、Menu等;
數據源控件包括SqlDataSource、AccessDataSource、ObjectDataSource、XmlDataSource、SiteMapDataSource,后者正是我們接下來幾節要學習的內容。
以上5個數據源控件我們都可以通過vs2005左側工具欄,在“數據”選項欄中拖拉至頁面來完成調用,當然和其他控件一樣我們也可以直接在.aspx頁面文件中以代碼的方式進行調用。
1、SqlDataSource控件。
.aspx頁面中的基本聲明代碼:
- 〈 asp:SqlDataSource Id="控件Id" runat="server"
- ConnectionString="連接數據源字符串"
- ProviderName="數據提供程序"
- SelectCommand="查詢用的SQL語句"
- UpdateCommand="更新用的SQL語句"
- DeleteCommand="刪除用的SQL語句"
- InsertCommand="寫入用的SQL語句"
- DataSourceMode="獲取數據后數據返回的模式" 〉
- 〈 /asp:SqlDataSource 〉
常用屬性介紹:
關于屬性的設置,我們都可以在頁面的設計界面中點選SqlDataSource控件,然后在右側屬性選項卡中進行查看和修改。當我們選擇某項屬性時,屬性選項卡下方的提示區域將會顯示該屬性的含義及用途,而該屬性后面的值區域則有可能會出現值列表以供選擇。
這里我們只介紹常用屬性,其他屬性大家可以通過以上方法進行查看和嘗試。
Id:控件id,就像一個人的身份證號一樣,一個頁面中不能有重復。
ConnectionString:連接數據源的字符串,關于連接字符串請參考:http://www.itgao.com/html/2007-04/20550.html
ProviderName:獲取或設置SqlDataSource控件連接數據源時所使用的提供程序名稱。
SelectCommand:查詢用的SQL語句或者存儲過程名稱
SelectCommandType:SelectCommand屬性的值的類型,包含Text(文本型)和StoreProcedure(存儲過程)
UpdateCommand:更新用的SQL語句或者存儲過程名稱
UpdateCommandType:UpdateCommand屬性的值的類型,包含Text(文本型)和StoreProcedure(存儲過程)
DeleteCommand:刪除用的SQL語句或者存儲過程名稱
DeleteCommandType:DeleteCommand屬性的值的類型,包含Text(文本型)和StoreProcedure(存儲過程)
InsertCommand:寫入用的SQL語句或者存儲過程名稱
InsertCommand屬性的值的類型,包含Text(文本型)和StoreProcedure(存儲過程)
DataSourceMode:獲取數據后數據返回的模式,包含兩個屬性值:DataSet和DataReader,默認為DataSet
創建數據庫連接:
vs2005可視化界面下,我們對SqlDataSource的某些屬性進行配置時,系統可能會要求我們事先建立一個可用的數據庫連接.畢竟,一個有效的數據庫連接是我們對數據庫進行操作的基礎.
步驟:對SqlDataSource的"ConnectionString"屬性進行修改,如下圖:
在"選擇數據源"對話框中我們根據自己的數據庫類型來選擇數據源和數據提供程序.右側說明區域會提供相應說明.
如果我們選擇Microsoft SQL Server,點擊"繼續"按鈕后,系統會彈出"添加連接設置框",我們只需要根據下圖進行設置就可以了:
如果我們選擇Microsoft Access 數據庫文件 (OLE DB),點擊"繼續"按鈕后,將需要對以下圖中內容進行設置:
其他幾種數據庫類型的設置大同小異,在此不再累述.
配置Command命令語句:
在正確配置SqlDataSource的Command命令后,SqlDataSource數據源才能正常地對數據庫進行各種操作.
步驟:先拿SelectCommand命令為例.
對SqlDataSource的"SelectQuery"屬性進行修改,如下圖:
如果選用查詢生成器來生成SQL語句的話,我們需要進行如下操作:
最后“確定”即可。
同樣的操作,配置完你需要的Command命令.
#p#
2、AccessDataSource控件。
SqlDataSource控件可以訪問任何OLEDB或符合ODBC的數據源,也可以訪問Oracle數據庫,而AccessDataSource控件只能訪問Access數據庫.
對AccessDataSource控件來說,必須首先配置其DataFile屬性才能繼而對Command屬性進行很好的配置.
該屬性用于指定需要訪問的Access數據庫文件(.mdb)的路徑.但是需要注意的是,必須首先將數據庫文件添加到當前項目中(一般放到App_Data文件夾中)才能順利的完成配置.
添加數據庫到項目的方法:
右側"服務器資源管理器"選項卡中,數據連接>>>右鍵"添加連接">>>然后彈出"添加連接"配置框,其配置方法和SqlDataSource控件中的做法相同,但是此時數據源我們只能選擇Access,因為我們用的是AccessDataSource控件.
AccessDataSource控件其他屬性的配置和SqlDataSource控件基本相同,不再累述.
【編輯推薦】