ASP.NET 允許存取和使用下列資料來源:
資料庫(例如:Access、 SQL Server、 Oracle、 MySQL)
XML 文件
Business Objects
Flat files
ASP.NET 隱藏了複雜的資料存取過程並且提供了更高級的類別和對象,透過他們資料可以更容易的存取。這些類別隱藏了所有的連接,資料訪問,資料檢索和資料操縱的複雜的程式碼。
ADO.NET 技術提供了各種ASP.NET 控制項物件和後台資料之間的橋樑。在本指導中,我們著眼於資料存取並且簡單的介紹資料。
在ASP.NET 中檢索和顯示資料需要兩種類型的資料控制:
資料來源控制- 它管理資料的連接、資料的選擇和其他工作,例如資料的分頁和快取等等。
數據顯示控制- 這將約束和顯示數據並且允許操作數據。
我們將在以後詳細探討資料約束和資料來源控制。在本節中,我們將套用SqlDataSource 控制項存取資料。在本章用GridView 控制項顯示和操作資料。
我們也會應用Access 資料庫,它包含了市場上有的.Net 書籍的細節資訊。將我們的資料庫命名為ASPDotNetStepByStep.mdb 並且我們將套用名為DotNetReferences 的資料表。
這張表包含了以下欄位:ID、Title、AuthorFirstName、AuthorLastName、Topic 和Publisher。下圖是這個資料表的截圖:
下面讓我們直接按照下面步驟來實踐:
(1)建立網站並且在網頁表格中加入SqlDataSourceControl。
(2)點選Configure Data Source 選項。
(3)點選New Connection 按鈕建立資料庫連線。
(4)連線一旦建立,你就可以儲存他們以備以後應用。下一步,你會被要求設定select statement:
(5)選擇好columns 中的項目後點選next 按鈕完成剩餘步驟。觀察WHERE, ORDER BY, 和Advanced 按鈕。這些按鈕允許你執行where 子句,order by 子句並且分別指定SQL 中的插入,更新並刪除指令。這樣你就可以對資料進行操作了。
(6)在表格中新增GridView 控制項。選擇資料來源並且用AutoFormat 選項產生控制項。
(7)在這之後設定的GridView 控制項可以顯示欄目標題,這個程式就可以執行了。
(8)最後執行該程序。
以上涉及的程式碼列示如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dataaccess.aspx.cs" Inherits="datacaching.WebForm1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString= "<%$ ConnectionStrings:ASPDotNetStepByStepConnectionString%>" ProviderName= "<%$ ConnectionStrings: ASPDotNetStepByStepConnectionString.ProviderName %>" SelectCommand="SELECT [Title], [AuthorLastName], [AuthorFirstName], [Topic] FROM [DotNetReferences]"> </asp:SqlDataSource> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None"> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <Columns> <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" /> <asp:BoundField DataField="AuthorLastName" HeaderText="AuthorLastName" SortExpression="AuthorLastName" /> <asp:BoundField DataField="AuthorFirstName" HeaderText="AuthorFirstName" SortExpression="AuthorFirstName" /> <asp:BoundField DataField="Topic" HeaderText="Topic" SortExpression="Topic" /> </Columns> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <EditRowStyle BackColor="#999999" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> </asp:GridView> </div> </form> </body></html>