首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 AccessDataSource 控制項完整指南:連接 MDB、GridView 顯示、設定嚮導與聲明式語法

     編輯:關於ASP.NET

AccessDataSource 是 ASP.NET 2.0 專為 Microsoft Access 資料庫(.mdb)設計的資料源控制項,簡化連接字串設定,僅需指定 DataFile 屬性指向 MDB 檔案路徑,即可搭配 GridView、DetailsView 等資料繫結控制項快速呈現資料。

核心屬性

屬性說明
DataFileMDB 檔案相對/絕對路徑,支援 ~ 應用程式根目錄運算子(如 ~/App_Data/Northwind.mdb)
SelectCommandSQL SELECT 陳述式,支援參數化查詢
InsertCommand/UpdateCommand/DeleteCommand異動命令,配合參數實現雙向繫結
FilterExpression/FilterParameters資料篩選運算式與參數

Visual Web Developer 設定嚮導步驟

  1. 工具箱「資料」面板拖曳 AccessDataSource 至設計介面。
  2. 智慧標記 → 「設定資料來源」。
  3. 「選擇資料庫」:瀏覽選擇 C:\Websites\BegAspNet2Db\App_Data\Northwind.mdb,設計器自動轉換為 ~/App_Data/Northwind.mdb。
  4. 「設定 Select 陳述式」:選擇「指定資料行」→ Products 資料表 → 全選欄位 → 下一步 → 測試查詢 → 完成。
  5. 屬性視窗修改 ID="NorthwindProductsAccDataSource"。
  6. 雙擊工具箱 GridView 加入頁面 → 智慧標記「選擇資料來源」→ 選 NorthwindProductsAccDataSource → 完成。
  7. 修改 GridView ID="NorthwindProductsGridView"。

產生的聲明式標記

<%@ Page Language="VB" %>
<html><head><title>AccessDataSource Demo</title></head><body>
<h3>連接至 MDB 資料來源演示</h3>
<form runat="server">
  <asp:AccessDataSource ID="NorthwindProductsAccDataSource" runat="server"
      SelectCommand="SELECT * FROM Products"
      DataFile="~/App_Data/Northwind.mdb">
  </asp:AccessDataSource>
  <asp:GridView ID="NorthwindProductsGridView" runat="server"
      DataSourceID="NorthwindProductsAccDataSource">
  </asp:GridView>
</form></body></html>

手寫聲明式語法範本

<asp:AccessDataSource ID="MySourceName" runat="server"
    DataFile="MyMDBName.mdb"
    SelectCommand="SELECT MyField1, MyField2 FROM MyTable">
</asp:AccessDataSource>

參數化查詢範例

<asp:AccessDataSource ID="adsProducts" runat="server"
    DataFile="~/App_Data/Northwind.mdb"
    SelectCommand="SELECT ProductID, ProductName, UnitPrice FROM Products WHERE CategoryID = @CatID">
  <SelectParameters>
    <asp:QueryStringParameter Name="CatID" QueryStringField="cat" Type="Int32" DefaultValue="1" />
  </SelectParameters>
</asp:AccessDataSource>

進階:異動操作完整設定

<asp:AccessDataSource ID="adsProducts" runat="server"
    DataFile="~/App_Data/Northwind.mdb"
    SelectCommand="SELECT ProductID, ProductName, UnitPrice, UnitsInStock FROM Products"
    DeleteCommand="DELETE FROM Products WHERE ProductID = @ProductID"
    UpdateCommand="UPDATE Products SET ProductName=@ProductName, UnitPrice=@UnitPrice, UnitsInStock=@UnitsInStock WHERE ProductID=@ProductID"
    InsertCommand="INSERT INTO Products (ProductName, UnitPrice, UnitsInStock) VALUES (@ProductName, @UnitPrice, @UnitsInStock)">
  <DeleteParameters>
    <asp:Parameter Name="ProductID" Type="Int32" />
  </DeleteParameters>
  <UpdateParameters>
    <asp:Parameter Name="ProductName" Type="String" />
    <asp:Parameter Name="UnitPrice" Type="Decimal" />
    <asp:Parameter Name="UnitsInStock" Type="Int16" />
    <asp:Parameter Name="ProductID" Type="Int32" />
  </UpdateParameters>
  <InsertParameters>
    <asp:Parameter Name="ProductName" Type="String" />
    <asp:Parameter Name="UnitPrice" Type="Decimal" />
    <asp:Parameter Name="UnitsInStock" Type="Int16" />
  </InsertParameters>
</asp:AccessDataSource>

搭配 GridView AllowDeleting/Editing/Inserting 即可零程式碼實現 CRUD。

注意事項與最佳實務

  • App_Data 資料夾:ASP.NET 自動保護 App_Data 內檔案不被直接 HTTP 下載,建議放置 MDB 於此。
  • 連接字串:AccessDataSource 內部建立 OLE DB 連接,無需在 web.config 另設連接字串。
  • 並發限制:Access (Jet) 引擎並發連接數有限,適合中小型網站;高流量建議遷移至 SQL Server。
  • 64 位元環境:需確認 IIS 應用程式集區啟用 32 位元模式或安裝 64 位元 ACE OLE DB Provider。
  • 參數順序:Access OLE DB 參數依位置而非名稱繫結,Insert/Update/DeleteParameters 集合順序必須與 SQL 陳述式參數順序一致。

AccessDataSource 讓 ASP.NET 2.0 應用程式以最簡潔方式整合 Access 資料,是中小型專案、原型開發、部門級應用的理想選擇。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved