按一下以給予評分及指教
TechNet
ASP.NET
HOW TO:使用 SqlDataSource 控制項連接至 Access 資料庫

您可以使用 SqlDataSource 控制項來連接 Microsoft Access 資料庫。若要這樣做,您需要連接字串和 Access 資料檔案。然後,您可以使用 SqlDataSource 控制項,將資料提供給任何支援 DataSourceID 屬性的資料繫結控制項,例如 GridView 控制項。

Note注意事項

您也可以使用 AccessDataSource 控制項來連接 Access 資料庫,此控制項可支援 DataFile 屬性以指定所要連接的 .mdb 檔案名稱。不過,使用 SqlDataSource 控制項來連接 Access 資料庫時,可指定其他連接屬性,例如驗證認證。一般而言,如果所要連接的 Access 資料庫需要密碼,則應該使用 SqlDataSource 控制項連接它,將驗證認證儲存到 Web.config 檔案的連接字串,再加密連接字串來做保護。

在 Web.config 檔案中設定 Access 的連接字串

  1. 開啟 ASP.NET 應用程式根目錄中的 Web.config 檔。如果沒有 Web.config 檔案,請建立一個。

  2. Configuration 項目中,如果 ConnectionStrings 項目不存在,請加入一個。

  3. 建立 add 項目做為 ConnectionStrings 項目的子系,定義下列屬性:

    • name 將值設定為您要用來參考連接字串 (Connection String) 的名稱。

      name="CustomerDataConnectionString"
    • connectionString 以適當的 Microsoft Access 提供者、Access 資料檔案的位置和驗證資訊 (適用的話) 指派連接字串 (Connection String)。連接字串看起來可能是:

      connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Northwind.mdb;"
      Note注意事項

      如果要將 Access .mdb 檔案儲存到網站的 App_Data 目錄 (強化安全性的建議動作),則可以使用語法 |DataDirectory|path 來指定位置。|DataDirectory| 字串會在執行階段解析為網站的 App_Data 資料夾。

    • providerName 指派值 "System.Data.OleDb",此值會指定 ASP.NET 在使用此連接字串進行連接時,應該使用 ADO.NET 提供者 System.Data.OleDb

    連接字串組態與下列的相似:

    <connectionStrings>
      <add name="CustomerDataConnectionString" 
        connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
          Data Source=|DataDirectory|Northwind.mdb"
        providerName="System.Data.OleDb" />
    </connectionStrings>
  4. 儲存並關閉 Web.config 檔案。

從 SqlDataSource 控制項參考 Access 連接字串

  1. 在要連接 Access 資料庫的頁面中,加入 SqlDataSource 控制項。

  2. SqlDataSource 控制項中,設定下列屬性:

    • SelectCommand 設定為用來擷取資料的 SQL select 陳述式,如下列範例所示:

      SelectCommand="Select * From Customers"
    • ConnectionString:設定為您在 Web.config 檔案中建立的連接字串名稱。

    • ProviderName:設定為您在 Web.config 檔中指定的提供者名稱。.

    下列範例顯示設定來連接 Access 資料庫的 SqlDataSource 控制項。

    <asp:SqlDataSource 
       ID="SqlDataSource1"
       runat="server" 
       ConnectionString="<%$ ConnectionStrings:CustomerDataConnectionString %>"
       ProviderName="<%$ ConnectionStrings:CustomerDataConnectionString.ProviderName %>"
       SelectCommand="SELECT * FROM Customers"   />

    您現在可以將其他控制項 (例如 GridView 控制項) 繫結至 SqlDataSource 控制項。

請參閱

社群內容   什麼是社群內容?
新增內容 RSS  註解
Processing
© 2009 Microsoft Corporation. 著作權所有,並保留一切權利。 使用規定 | 商標 | 隱私權聲明
Page view tracker