程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Enterprise Library Step By Step系列(四)數據訪問程序塊 - 進階篇

Enterprise Library Step By Step系列(四)數據訪問程序塊 - 進階篇

編輯:關於.NET

一.使用存儲過程:

關於數據訪問應用程序塊的介紹在入門篇裡面已經說過了,這裡不再重復。下面我們來看看在數據訪問應用程序塊裡面使用存儲過程的方法:

1.不傳遞參數:不傳遞參數時值需要指定存儲過程的名稱,已經命令的類型即可。

1/**//// <summary>
2    /// 執行存儲過程(1)——不傳遞參數(NoPara)
3    /// </summary>
4    private void FormatDataBySp1()
5    {
6      /**////創建數據庫實例
7      Database db = DatabaseFactory.CreateDatabase("NorthWind");
8
9      /**////傳遞參數
10      DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("GetProductsList");
11
12      /**////執行存儲過程
13      DataSet ds = db.ExecuteDataSet(dbc);
14
15      /**////綁定數據
16      DataGrid1.DataSource = ds.Tables[0];
17      DataGrid1.DataBind();
18    }

2.傳遞輸入參數:需要注意的是在增加參數時是AddInParameter。

1/**//// <summary>
2    /// 執行存儲過程(2)——傳遞輸入參數(Input)
3    /// </summary>
4    private void FormatDataBySp2()
5    {
6      /**////創建數據庫實例
7      Database db = DatabaseFactory.CreateDatabase("NorthWind");
8
9      /**////傳遞參數
10      DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("CustOrdersDetail");
11      dbc.AddInParameter("@OrderID",System.Data.DbType.Int32,10248);
12
13      /**////執行存儲過程
14      DataSet ds = db.ExecuteDataSet(dbc);
15
16      /**////綁定數據
17      DataGrid1.DataSource = ds.Tables[0];
18      DataGrid1.DataBind();
19    }

3.傳遞輸出參數:需要注意的是在增加參數時是AddOutParameter。

1/**//// <summary>
2    /// 執行存儲過程(3)——傳遞輸出參數(Output)
3    /// </summary>
4    private void FormatDataBySp3()
5    {
6      /**////創建數據庫實例
7      Database db = DatabaseFactory.CreateDatabase("NorthWind");
8
9      /**////傳遞參數
10      DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("GetProductDetails");
11
12      dbc.AddInParameter("@ProductID",System.Data.DbType.Int32,12);
13      dbc.AddOutParameter("@ProductName",System.Data.DbType.String,50);  //輸出
14
15      /**////執行存儲過程
16      db.ExecuteNonQuery(dbc);
17
18      string result = dbc.GetParameterValue("@ProductName").ToString();  //得到輸出參數的值
19    }

二.使用事務:在企業庫數據訪問應用程序塊裡面,對事務提供了很好的支持,具體的使用方法在程序裡面有注釋,這裡就不多說了。

1/**//// <summary>
2    /// 利用事務更改數據
3    /// </summary>
4    private void ExecuteUseTran()
5    {
6      /**////創建數據庫實例
7      Database db = DatabaseFactory.CreateDatabase("NorthWind");
8
9      using(IDbConnection Idbconn = db.GetConnection())
10      {
11        /**////打開連接
12        Idbconn.Open();
13
14        /**////創建事務
15        IDbTransaction Idbtran = Idbconn.BeginTransaction();
16
17        try
18        {
19          /**////執行兩個存儲過程
20          db.ExecuteNonQuery(CommandType.StoredProcedure,"InserOrders");
21          db.ExecuteDataSet(CommandType.StoredProcedure,"UpdateProducts");
22
23          /**////執行完成後提交事務
24          Idbtran.Commit();
25        }
26        catch
27        {
28          /**////回滾事務
29          Idbtran.Rollback();
30        }
31        finally
32        {
33          /**////關閉連接
34          Idbconn.Close();
35        }
36      }
37
38    }

三.加密連接字符串:

1.創建一個加密的Stored Provider:

2.創建新的加密算法:

3.選擇加密算法:

4.創建加密密鑰:

5.保存加密密鑰的保存文件,該文件要小心保存:

6.指定加密的部分:

這樣我們看到,在配置文件裡面的內容變成了亂碼。

總結:關於數據訪問應用程序塊的進階篇就寫到這裡了,希望對初學企業庫的朋友有所幫助

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved