<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Enterprise Library Step By Step系列(四):數(shù)據(jù)訪問程序塊——進(jìn)階篇

       寫在前面:在進(jìn)階篇中,主要通過對使用存儲過程,使用事務(wù),加密連接串三部分內(nèi)容的介紹,給企業(yè)庫的初學(xué)者提供一點(diǎn)幫助。

      一.  使用存儲過程:

      關(guān)于數(shù)據(jù)訪問應(yīng)用程序塊的介紹在入門篇里面已經(jīng)說過了,這里不再重復(fù)。下面我們來看看在數(shù)據(jù)訪問應(yīng)用程序塊里面使用存儲過程的方法:

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

       1/// <summary>
       2        /// 執(zhí)行存儲過程(1)——不傳遞參數(shù)(NoPara)
       3        /// </summary>

       4        private void FormatDataBySp1()
       5        {
       6            ///創(chuàng)建數(shù)據(jù)庫實(shí)例
       7            Database db = DatabaseFactory.CreateDatabase("NorthWind");
       8            
       9            ///傳遞參數(shù)
      10            DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("GetProductsList");
      11
      12            ///執(zhí)行存儲過程
      13            DataSet ds = db.ExecuteDataSet(dbc);
      14            
      15            ///綁定數(shù)據(jù)
      16            DataGrid1.DataSource = ds.Tables[0];
      17            DataGrid1.DataBind();
      18        }

      2.        傳遞輸入?yún)?shù):需要注意的是在增加參數(shù)時是AddInParameter

       1/// <summary>
       2        /// 執(zhí)行存儲過程(2)——傳遞輸入?yún)?shù)(Input)
       3        /// </summary>

       4        private void FormatDataBySp2()
       5        {
       6            ///創(chuàng)建數(shù)據(jù)庫實(shí)例
       7            Database db = DatabaseFactory.CreateDatabase("NorthWind");
       8            
       9            ///傳遞參數(shù)
      10            DBCommandWrapper dbc = db.GetStoredProcCommandWrapper("CustOrdersDetail");
      11            dbc.AddInParameter("@OrderID",System.Data.DbType.Int32,10248);
      12
      13            ///執(zhí)行存儲過程
      14            DataSet ds = db.ExecuteDataSet(dbc);
      15            
      16            ///綁定數(shù)據(jù)
      17            DataGrid1.DataSource = ds.Tables[0];
      18            DataGrid1.DataBind();
      19        }

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

       1/// <summary>
       2        /// 執(zhí)行存儲過程(3)——傳遞輸出參數(shù)(Output)
       3        /// </summary>

       4        private void FormatDataBySp3()
       5        {
       6            ///創(chuàng)建數(shù)據(jù)庫實(shí)例
       7            Database db = DatabaseFactory.CreateDatabase("NorthWind");
       8            
       9            ///傳遞參數(shù)
      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            ///執(zhí)行存儲過程
      16            db.ExecuteNonQuery(dbc);
      17            
      18            string result = dbc.GetParameterValue("@ProductName").ToString();    //得到輸出參數(shù)的值
      19        }

      二.  使用事務(wù):

      在企業(yè)庫數(shù)據(jù)訪問應(yīng)用程序塊里面,對事務(wù)提供了很好的支持,具體的使用方法在程序里面有注釋,這里就不多說了。

       1/// <summary>
       2        /// 利用事務(wù)更改數(shù)據(jù)
       3        /// </summary>

       4        private void ExecuteUseTran()
       5        {
       6            ///創(chuàng)建數(shù)據(jù)庫實(shí)例
       7            Database db = DatabaseFactory.CreateDatabase("NorthWind");
       8
       9            using(IDbConnection Idbconn = db.GetConnection())
      10            {    
      11                ///打開連接
      12                Idbconn.Open();
      13                
      14                ///創(chuàng)建事務(wù)
      15                IDbTransaction Idbtran = Idbconn.BeginTransaction();
      16
      17                try
      18                {    
      19                    ///執(zhí)行兩個存儲過程
      20                    db.ExecuteNonQuery(CommandType.StoredProcedure,"InserOrders");
      21                    db.ExecuteDataSet(CommandType.StoredProcedure,"UpdateProducts");
      22                    
      23                    ///執(zhí)行完成后提交事務(wù)
      24                    Idbtran.Commit();
      25                }

      26                catch
      27                {    
      28                    ///回滾事務(wù)
      29                    Idbtran.Rollback();
      30                }

      31                finally
      32                {
      33                    ///關(guān)閉連接
      34                    Idbconn.Close();
      35                }

      36            }

      37
      38        }

      三.  加密連接字符串:

      1.        創(chuàng)建一個加密的Stored Provider

      2.        創(chuàng)建新的加密算法:




      3.       
      選擇加密算法:


      4.       
      創(chuàng)建加密密鑰:


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

      6.        指定加密的部分:

       

      這樣我們看到,在配置文件里面的內(nèi)容變成了亂碼。

      總結(jié):關(guān)于數(shù)據(jù)訪問應(yīng)用程序塊的進(jìn)階篇就寫到這里了,希望對初學(xué)企業(yè)庫的朋友有所幫助

       

      posted @ 2005-10-21 10:32  TerryLee  閱讀(17750)  評論(55)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品国产av成拍色拍个| 日夜啪啪一区二区三区| av鲁丝一区鲁丝二区鲁丝三区 | 望都县| 成人污视频| 麻豆亚洲精品一区二区| 欧美牲交40_50a欧美牲交aⅴ| 亚洲日本中文字幕天天更新| 国产精品亚洲综合第一页| 欧美国产精品不卡在线观看| 中文字幕有码日韩精品| 男女啪啪高潮激烈免费版| 亚洲色大成网站WWW永久麻豆| 欧美激情一区二区三区成人| 日韩中文字幕高清有码| 亚洲欧美自偷自拍视频图片| 亚洲精品蜜桃久久久久久| 久久精产国品一二三产品| 亚洲精品一区二区动漫| 亚洲人成亚洲人成在线观看| 婷婷综合缴情亚洲 | 国产亚洲精品第一综合另类灬| 狼色精品人妻在线视频| 国产互换人妻xxxx69| 草草浮力影院| 欧美日韩精品久久久免费观看| 国产精品对白刺激久久久| 亚洲国产中文字幕精品| 亚洲最大av资源站无码av网址| 三级黄色片一区二区三区| 亚洲精品中文av在线| 沿河| 视频一区二区不中文字幕| 在线国产你懂的| 少妇高潮喷水正在播放 | 国产av丝袜熟女一二三| 强奷乱码欧妇女中文字幕熟女| 又色又爽又黄18禁美女裸身无遮挡| 国产无套内射又大又猛又粗又爽 | 久久婷婷成人综合色综合| 强奷乱码中文字幕|