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

Enterprise Library 實戰系列(四):資料存取應用程式區塊——進階篇

     編輯:關於.NET

一、使用預存程序

1. 無參數

Database db = DatabaseFactory.CreateDatabase("NorthWind");
DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("GetProductsList");
DataSet ds = db.ExecuteDataSet(dbc);
DataGrid1.DataSource = ds.Tables[0];
DataGrid1.DataBind();

2. 輸入參數

Database db = DatabaseFactory.CreateDatabase("NorthWind");
DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("CustOrdersDetail");
dbc.AddInParameter("@OrderID", System.Data.DbType.Int32, 10248);
DataSet ds = db.ExecuteDataSet(dbc);
DataGrid1.DataSource = ds.Tables[0];
DataGrid1.DataBind();

3. 輸出參數

Database db = DatabaseFactory.CreateDatabase("NorthWind");
DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("GetProductDetails");
dbc.AddInParameter("@ProductID", System.Data.DbType.Int32, 12);
dbc.AddOutParameter("@ProductName", System.Data.DbType.String, 50); // 輸出參數
db.ExecuteNonQuery(dbc);
string result = dbc.GetParameterValue("@ProductName").ToString(); // 取得輸出值

二、交易處理

區塊提供完善交易支援:

Database db = DatabaseFactory.CreateDatabase("NorthWind");
using (IDbConnection conn = db.GetConnection())
{
    conn.Open();
    IDbTransaction tran = conn.BeginTransaction();
    try
    {
        db.ExecuteNonQuery(CommandType.StoredProcedure, "InserOrders");
        db.ExecuteDataSet(CommandType.StoredProcedure, "UpdateProducts");
        tran.Commit();
    }
    catch
    {
        tran.Rollback();
    }
    finally
    {
        conn.Close();
    }
}

三、加密連線字串

  1. 建立加密 Storage Provider
    加密 Provider
  2. 建立加密演算法
    新增演算法 演算法細節
  3. 選擇演算法
    選擇演算法
  4. 建立加密金鑰
    建立金鑰
  5. 儲存金鑰檔(妥善保管)
    儲存金鑰
  6. 指定加密區段
    指定加密區段

加密後組態檔內容變為亂碼,保護敏感資訊。

結語

進階篇涵蓋預存程序參數傳遞、交易控制、連線字串加密,協助建立安全健全的資料存取層。

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