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

Enterprise Library 2.0 Hands On Lab 翻譯(2):資料存取應用程式區塊(二)

     編輯:關於ASP.NET

練習 2:預存程序與使用區塊更新資料

示範如何呼叫預存程序,並使用強型別 DataSet 更新資料。

步驟 1:開啟專案

開啟 DataEx2.sln,預設路徑 C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Data Access\exercises\ex02\begin,編譯。

步驟 2:QuickStarts 資料庫新增 Categories 資料表

執行 SetUpEx02.bat(預設 C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Data Access\exercises\ex02\DbSetup),建立 Categories 資料表、GetCategories 預存程序並插入資料。預設伺服器 (local)\SQLEXPRESS。

步驟 3:回顧應用程式

開啟 MainForm.cs 設計檢視,應用程式選擇特定 Category 載入對應產品,允許修改並儲存。

步驟 4:實作資料讀取

  1. 開啟 MainForm.cs 程式碼,加入命名空間:using Microsoft.Practices.EnterpriseLibrary.Data;(先加入 Data 與 Common 組件參考)
  2. 加入私有欄位:private Database _db = DatabaseFactory.CreateDatabase("QuickStarts Instance");
  3. 在 MainForm_Load 加入代碼:
private void MainForm_Load(object sender, System.EventArgs e)
{
    this.cmbCategory.Items.Clear();
    using (IDataReader dataReader = _db.ExecuteReader("GetCategories"))
    {
        while (dataReader.Read())
        {
            Category item = new Category(
                dataReader.GetInt32(0),
                dataReader.GetString(1),
                dataReader.GetString(2));
            this.cmbCategory.Items.Add(item);
        }
    }
    if (this.cmbCategory.Items.Count > 0)
        this.cmbCategory.SelectedIndex = 0;
}

Database.ExecuteReader 多載接受預存程序名稱字串,無需管理連線,using 區塊確保 DataReader 釋放並關閉連線。

  1. 在 cmbCategory_SelectedIndexChanged 加入代碼:
private void cmbCategory_SelectedIndexChanged(object sender, System.EventArgs e)
{
    this.dsProducts.Clear();
    Category selectedCategory = (Category)this.cmbCategory.SelectedItem;
    if (selectedCategory == null) return;

    _db.LoadDataSet(
        "GetProductsByCategory",
        this.dsProducts,
        new string[] { "Products" },
        selectedCategory.CategoryId);
}

DAAB 提供 ExecuteDataSet(回傳新 DataSet)與 LoadDataSet(填充現有 DataSet)兩種方法。

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