鍍金池/ 教程/ C#/ 數(shù)據(jù)庫存取
調(diào)試
管理狀態(tài)
Panel 控件
Web 服務(wù)
語言集成查詢
數(shù)據(jù)源
基礎(chǔ)控件
廣告輪轉(zhuǎn)器
服務(wù)器端
服務(wù)器控件
ADO.NET
多線程
HTML 服務(wù)器
生命周期
Ajax 控制
客戶端
異常處理
環(huán)境設(shè)置
部署
個性化
驗(yàn)證器
多視圖
日歷
文件上傳
ASP.NET - 數(shù)據(jù)綁定
數(shù)據(jù)庫存取
實(shí)例
自定義控件
簡介
配置
數(shù)據(jù)緩存
安全性
指令
事件處理

數(shù)據(jù)庫存取

ASP.NET 允許存取和使用下列數(shù)據(jù)源:

  • 數(shù)據(jù)庫(例如:Access、 SQL Server、 Oracle、 MySQL)
  • XML 文檔
  • Business Objects
  • Flat files

ASP.NET 隱藏了復(fù)雜的數(shù)據(jù)存取過程并且提供了更為高級的類和對象,通過他們數(shù)據(jù)可以更容易的存取。這些類隱藏了所有的連接,數(shù)據(jù)存取,數(shù)據(jù)檢索和數(shù)據(jù)操縱的復(fù)雜的代碼。

ADO.NET 技術(shù)提供了各種 ASP.NET 控件對象和后臺數(shù)據(jù)之間的橋梁。在本指導(dǎo)中,我們著眼于數(shù)據(jù)存取并且簡單的介紹數(shù)據(jù)。

檢索和顯示數(shù)據(jù)

在 ASP.NET 中檢索和顯示數(shù)據(jù)需要兩種類型的數(shù)據(jù)控制:

  • 數(shù)據(jù)源控制 - 它管理數(shù)據(jù)的連接、數(shù)據(jù)的選擇和其他工作,例如數(shù)據(jù)的分頁和緩存等等。
  • 數(shù)據(jù)顯示控制 - 這將約束和顯示數(shù)據(jù)并且允許操作數(shù)據(jù)。

我們將在以后詳細(xì)探討數(shù)據(jù)約束和數(shù)據(jù)源控制。在本節(jié)中,我們將應(yīng)用 SqlDataSource 控件存取數(shù)據(jù)。在本章用 GridView 控件顯示和操作數(shù)據(jù)。

我們也會應(yīng)用 Access 數(shù)據(jù)庫,它包含了市場上有的 .Net 書籍的細(xì)節(jié)信息。將我們的數(shù)據(jù)庫命名為 ASPDotNetStepByStep.mdb 并且我們將應(yīng)用名為 DotNetReferences 的數(shù)據(jù)表。

這張表包含了以下欄目:ID、Title、AuthorFirstName、AuthorLastName、Topic 和 Publisher。
下圖是這個數(shù)據(jù)表的截圖:

http://wiki.jikexueyuan.com/project/asp-net/images/data_table.jpg" alt="" />

下面讓我們直接按照下面步驟實(shí)踐:

(1)創(chuàng)建一個網(wǎng)站并且在網(wǎng)頁表格中添加 SqlDataSourceControl。

http://wiki.jikexueyuan.com/project/asp-net/images/sqldatasourcecontrol.jpg" alt="" />

(2)單擊 Configure Data Source 選項(xiàng)。

http://wiki.jikexueyuan.com/project/asp-net/images/configure_data_source.jpg" alt="" />

(3)點(diǎn)擊 New Connection 按鈕建立數(shù)據(jù)庫連接。

http://wiki.jikexueyuan.com/project/asp-net/images/connection_with_database.jpg" alt="" />

(4)連接一旦建立,你就可以保存他們以備以后應(yīng)用。下一步,你會被要求設(shè)置 select statement:

http://wiki.jikexueyuan.com/project/asp-net/images/select_statement.jpg" alt="" />

(5)選擇好 columns 中的項(xiàng)目后點(diǎn)擊 next 按鈕完成剩余步驟。觀察 WHERE, ORDER BY, 和 Advanced 按鈕。這些按鈕允許你執(zhí)行 where 子句,order by 子句并且分別指定 SQL 中的插入,更新和刪除命令。這樣你就可以對數(shù)據(jù)進(jìn)行操作了。

(6)在表中添加 GridView 控件。選擇數(shù)據(jù)源并且用 AutoFormat 選項(xiàng)生成控件。

http://wiki.jikexueyuan.com/project/asp-net/images/autoformat.jpg" alt="" />

(7)在這之后設(shè)置的 GridView 控件可以顯示欄目標(biāo)題,這個程序就可以執(zhí)行了。

http://wiki.jikexueyuan.com/project/asp-net/images/gridview_control.jpg" alt="" />

(8)最后執(zhí)行該程序。

http://wiki.jikexueyuan.com/project/asp-net/images/databasse_result.jpg" alt="" />

以上涉及的代碼列示如下:

<%@ 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>
上一篇:實(shí)例下一篇:部署