日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Enterprise Library1.0 -- DataAccess Application Block

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Enterprise Library1.0 -- DataAccess Application Block 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? Enterprise Library 對大家來說應該不陌生,很早我就聽說了這個東西,但一直沒有時間來學習,最近終于抽出時間來學習Enterprise Library,現在就把我學習過程中的一些實例發上來,供大家參考.Enterprise Library現在已經有2.0版本了,但我也是后來才看到的,其他的就不多說了,先說1.0里面的Data Access Application Block,以后有時間在研究2.0.
??? 本來先看的是其中的Configuration Application Block,但我在Web項目中調試寫入XML時總是不能成功,后來查資料得知Web項目中的config文件不能通過程序來修改或創建,不知道是否確有此事,還望高手指點,另外還不明白的是 Configuration Application Block在我們實際項目的開發中能起到什么樣的作用,昨天也沒想通.
??? 好了,我們來看看Data Access Application Block 吧,首先我們看一下如何用Enterprise Library 提供的配置工具來創建一個數據庫實例.首先我們應該新建我們所需項目,然后在Enterprise Library的安裝目錄的Bin目錄中找到EntLibConfig.exe文件,雙擊打開,并選擇File-->Open Application,打開剛剛新建項目的Web.Config文件,如下:

然后,右鍵單擊Application,選擇New--> DataAccess Application Block,如下圖:


?????? 然后會自動在Data Access Block 節點下生成三個Connection String(保存新建的數據庫實例的連接字符串信息),DataBaseInstance(此節點存放數據庫實例名以及其他相關信息),DataBase Types(節點存放數據庫類型,如Sql Server?或 Oracle等).接著我們在?Connection String ?下的 Sql Connection String 下配置好我們的數據庫連接信息(包括Server,Database,uid,pwd等).
????? 上面所說的都配置好了以后,我們就可以點擊 File-->Save All或Ctrl + Shift + S,如果配置沒有錯誤的話,就會在你的項目中生成一個dataConfiguration.config文件,內容如下:

<?xml?version="1.0"?encoding="utf-8"?>
<dataConfiguration>
??
<xmlSerializerSection?type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,?Microsoft.Practices.EnterpriseLibrary.Data,?Version=1.1.0.0,?Culture=neutral,?PublicKeyToken=null">
????
<enterpriseLibrary.databaseSettings?xmlns:xsd="http://www.w3.org/2001/XMLSchema"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?defaultInstance="EnterpriseLibrary"?xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/data">
??????
<databaseTypes>
????????
<databaseType?name="Sqlserver"?type="Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase,?Microsoft.Practices.EnterpriseLibrary.Data,?Version=1.1.0.0,?Culture=neutral,?PublicKeyToken=null"?/>
??????
</databaseTypes>
??????
<instances>
????????
<instance?name="EnterpriseLibrary"?type="Sqlserver"?connectionString="Sql?Connection?String"?/>
??????
</instances>
??????
<connectionStrings>
????????
<connectionString?name="Sql?Connection?String">
??????????
<parameters>
????????????
<parameter?name="database"?value="EnterpriseLibrary"?isSensitive="false"?/>
????????????
<parameter?name="Integrated?Security"?value="True"?isSensitive="false"?/>
????????????
<parameter?name="pwd"?value=""?isSensitive="true"?/>
????????????
<parameter?name="server"?value="shy"?isSensitive="false"?/>
????????????
<parameter?name="uid"?value="sa"?isSensitive="false"?/>
??????????
</parameters>
????????
</connectionString>
??????
</connectionStrings>
????
</enterpriseLibrary.databaseSettings>
??
</xmlSerializerSection>
</dataConfiguration>

在Web.config文件中加入了下面內容:

??<configSections>
????
<section?name="enterpriselibrary.configurationSettings"?type="System.Configuration.IgnoreSectionHandler,?System,?Version=1.0.5000.0,?Culture=neutral,?PublicKeyToken=b77a5c561934e089"?/>
??
</configSections>
??
<enterpriselibrary.configurationSettings?xmlns:xsd="http://www.w3.org/2001/XMLSchema"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?applicationName="Application"?xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/configuration">
??
<configurationSections>
????
<configurationSection?xsi:type="ReadOnlyConfigurationSectionData"?name="dataConfiguration"?encrypt="false">
??????
<storageProvider?xsi:type="XmlFileStorageProviderData"?name="XML?File?Storage?Provider"?path="dataConfiguration.config"?/>
??????
<dataTransformer?xsi:type="XmlSerializerTransformerData"?name="Xml?Serializer?Transformer">
????????
<includeTypes?/>
??????
</dataTransformer>
????
</configurationSection>
??
</configurationSections>
??
<keyAlgorithmStorageProvider?xsi:nil="true"?/>
??
<includeTypes?/>
</enterpriselibrary.configurationSettings>

到此為止,我們使用Data Access Application?Block 的配置文件就基本上配置好了,下面我們來看看DataAccess Application Block 的幾種基本操作:
首先我們建立名為EnterpriseLibrary的數據庫(這個應該在配置之前先建好的),在此數據庫中建一張表,名為 Person .

需要引用的程序集如下:
Microsoft.Practices.EnterpriseLibrary.Data
Microsoft.Practices.EnterpriseLibrary.Configuration

1.ExecuteNonQuery

/**////?<summary>
????????
///?執行ExecuteNonQuery
????????
///?</summary>

????????public?void?AddPerson()
????????
{
????????????Database?db?
=?DatabaseFactory.CreateDatabase("EnterpriseLibrary");
????????????db.ExecuteNonQuery(CommandType.Text,
"insert?into?person?values(1,'pw',23,'男','3304122')");
????????}

2.ExecuteReader

/**////?<summary>
????????
///?執行ExecuteReader,返回Person列表
????????
///?</summary>
????????
///?<returns></returns>

????????public?IDataReader?GetPersonList()
????????
{
????????????Database?db?
=?DatabaseFactory.CreateDatabase("EnterpriseLibrary");
????????????
????????????
string?sql?=?"select?*?from?person";
????????????DBCommandWrapper?dw?
=?db.GetSqlStringCommandWrapper(sql);

????????????
return?db.ExecuteReader(dw);
????????}

3.ExecuteDataSet

/**////?<summary>
????????
///?執行ExecuteDataSet,返回Person列表
????????
///?</summary>
????????
///?<returns></returns>

????????public?DataSet?GetPersonList()
????????
{
????????????Database?db?
=?DatabaseFactory.CreateDatabase("EnterpriseLibrary");
????????????
????????????
string?sql?=?"select?*?from?person";
????????????DBCommandWrapper?dw?
=?db.GetSqlStringCommandWrapper(sql);

????????????
return?db.ExecuteDataSet(dw);
????????}


4.ExecuteScalar

/**////?<summary>
????????
///?執行ExecuteScalar,返回單一的值
????????
///?</summary>
????????
///?<returns></returns>

????????public?int?GetPersonNum()
????????
{
????????????Database?db?
=?DatabaseFactory.CreateDatabase("EnterpriseLibrary");

????????????
string?sql?=?"select?count(*)?from?person";
????????????DBCommandWrapper?dw?
=?db.GetSqlStringCommandWrapper(sql);

????????????
return?(int)db.ExecuteScalar(dw);
????????}

?

5.執行存儲過程

//執行存儲過程
????????
//首先我們在數據庫中建一個名為"SelectPersonBySex"的存儲過程
????????
//如果有輸入參數可以這樣寫:dw.AddOutParameter("@sex",System.Data.DbType.String,'男');
????????
//執行完存儲過程后取輸出參數的值的方法是:dw.GetParameterValue("@sex");
????????public?DataSet?GetPersonListBySex(string?sex)
????????
{
????????????Database?db?
=?DatabaseFactory.CreateDatabase("EnterpriseLibrary");

????????????DBCommandWrapper?dw?
=?db.GetStoredProcCommandWrapper("SelectPersonBySex");

????????????dw.AddInParameter(
"@sex",System.Data.DbType.String,sex);

????????????
return?db.ExecuteDataSet(dw);

????????}

6.在程序中加入事務

public?void?InsertPerson()
????????
{
????????????
//創建數據庫實例
????????????Database?db?=?DatabaseFactory.CreateDatabase("EnterpriseLibrary");

????????????
//在程序中加入事務
????????????using?(IDbConnection?conn?=?db.GetConnection())
????????????
{
????????????????
//打開連接
????????????????conn.Open();
????????????????
//建立一個事務
????????????????System.Data.IDbTransaction?trans?=?conn.BeginTransaction();
????????????????
????????????????
try
????????????????
{
????????????????????
//循環向person表插入記錄
????????????????????for(int?i=2;i<10;i++)
????????????????????
{
????????????????????????db.ExecuteNonQuery(CommandType.Text,
@"insert?into?person?values("?+?i?+?",'pw1',23,'男','3304122')");
????????????????????}

????????????????????
//提交事務
????????????????????trans.Commit();
????????????????}

????????????????
catch(Exception)
????????????????
{
????????????????????
//回滾事務
????????????????????trans.Rollback();
????????????????}

????????????????
finally
????????????????
{
????????????????????
//關閉連接
????????????????????conn.Close();
????????????????}

????????????}

????????}

關于DataAccess Application Block 的基本操作就說到這,以后再有更深的研究我繼續往上發,還有想了解一下,學過Enterprise Library的朋友們對它的看法,歡迎在此發表你的個人意見.

Email:pwei013@163.com

轉載于:https://www.cnblogs.com/pw/archive/2006/05/30/412599.html

總結

以上是生活随笔為你收集整理的Enterprise Library1.0 -- DataAccess Application Block的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 无码人妻丰满熟妇精品 | 成人啪啪18免费游戏链接 | 少妇高潮21p | 一区二区三区四区免费观看 | 男男全肉变态重口高h | 日韩欧美手机在线 | 40一50一60老女人毛片 | 无遮挡边吃摸边吃奶边做 | 久久国产精品免费看 | 久久精品欧美一区二区 | 欧美乱做爰xxxⅹ久久久 | 91插插影库| 日本免费一区二区在线 | 乱色专区| 久久依人 | 久草资源站 | 韩国女主播一区 | 亚洲综合免费观看高清完整版在线 | 亚洲免费精品视频在线观看 | 欧美精品欧美极品欧美激情 | 乖女从小调教h尿便器小说 欧美韩一区二区 | 亚洲一区二区三区免费观看 | 日韩视频免费观看高清完整版在线观看 | 清冷学长被爆c躁到高潮失禁 | 小仙女av | 美女高潮网站 | 男女一级黄色 | 蜜桃传媒一区二区亚洲av | 黄免费在线观看 | 六月丁香婷婷综合 | 91免费精品视频 | 五月色婷 | 加勒比伊人 | 丰满少妇一级片 | 国产成人精品在线 | 少妇特殊按摩高潮惨叫无码 | 欧美激情在线免费观看 | 一区二区三区在线视频播放 | 九九视频网 | 久草资源网站 | 亚洲天堂男人天堂 | 亚洲影库 | 日本少妇色视频 | 日本一区二区三区免费在线观看 | 在线观看免费福利 | 五级 黄 色 片 | 黄色va| 国产一区二区三区免费观看视频 | 中文字幕+乱码+中文乱码91 | 亚洲色图图片区 | 69av网| 国产一区二区av | 一色屋免费视频 | 青青草原成人 | 一区精品视频 | 精品黑人一区二区三区在线观看 | 国产精品久久久免费视频 | 久久国产福利 | 国产三级福利 | 欧美成人免费一级 | 在线免费观看 | 欧美色哟哟 | 欧美麻豆视频 | 亚洲精品一区二区三区婷婷月 | 午夜吃瓜 | 天天撸天天操 | 狠狠干综合 | av大片免费在线观看 | 五月激情片 | 欧美区一区二 | 好吊妞在线观看 | 亚洲在线一区二区 | 久久久久九九九 | 久久久久青草 | 亚洲精品二| 免费的毛片网站 | 精品九九 | 亚洲色图在线视频 | 黄色免费成人 | 日韩精品电影一区二区 | 国产av电影一区二区三区 | 隣の若妻さん波多野结衣 | 免费在线黄色网 | 东北女人啪啪ⅹxx对白 | 亚洲九九夜夜 | 男男h黄动漫啪啪无遮挡软件 | 日韩七区| 日韩欧美成人一区二区三区 | www.一区| 精品在线观看一区二区 | www,av在线| 熟妇的味道hd中文字幕 | 久久婷婷成人综合色 | 亚洲乱码精品 | 理论片中文字幕 | 亚洲最新 | 欧美10p | 91插插视频 | 成人网址在线观看 |