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