`
terryfeng
  • 浏览: 507268 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Enterprise Library 4.1 Data Access Block 快速使用图文笔记

阅读更多

image

一,下载并安装好Enterprise Library 4.1

二,新建一个Web应用程序

三,右键点击Web.Config 文件 使用 Edit Enterprise Library Configuration 可以编辑Web.Config,可以看到数据访问程序块是默认存在的。

image

可以新建连接字符串,可以新建指定更多的

image

我建立了两个字符串

image

image

和两个Custom Provider  分别是SQL 和Oracle

image

可以设置加密和默认连接字符串

 

四,添加引用(注意:这里有可能你也会出现和我一样的问题,就是编译出错,所以我引用的组件位置是官方示例程序的两个组件,程序编辑才通过)

image 

编译通过但运行还是不行,就打开Web.Config 删除报错位置的“, PublicKeyToken=31bf3856ad364e35” 成为下面这样,不报错了

<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral" />

 

五,编写代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Data.Common;

namespace DataAccessBlock
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            //查询数据
            Database db = DatabaseFactory.CreateDatabase();
            this.GridView1.DataSource = db.ExecuteReader(CommandType.Text, "SELECT * FROM Projects");
            this.GridView1.DataBind();
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            //调用存储过程(直接传参数的简单调用)
            Database db = DatabaseFactory.CreateDatabase("Conn2");
            this.GridView1.DataSource = db.ExecuteReader("GetUser", "admin");
            this.GridView1.DataBind();
        }

        protected void Button3_Click(object sender, EventArgs e)
        {
            Database db = DatabaseFactory.CreateDatabase("Conn1");

            //带输出和返回参数的存储过程调用
            DbCommand cmd = db.GetStoredProcCommand("addRole");
            db.AddInParameter(cmd, "Id", DbType.Int32, DateTime.Now.Millisecond);
            db.AddInParameter(cmd, "Name", DbType.String, "技术总监");
            db.AddOutParameter(cmd, "newLastChanged", DbType.Int16, 4);
            db.AddParameter(cmd, "RecordCount", DbType.Int16, ParameterDirection.ReturnValue, "", DataRowVersion.Default, 0);
            db.ExecuteNonQuery(cmd);
            Response.Write("输出参数值:" + db.GetParameterValue(cmd, "newLastChanged").ToString());
            Response.Write("<br />返回参数值:" + db.GetParameterValue(cmd, "RecordCount").ToString());

        }

        protected void Button4_Click(object sender, EventArgs e)
        {
             //使用事务
            Database db = DatabaseFactory.CreateDatabase("Conn1");
            using (IDbConnection conn = db.CreateConnection())
            {
                conn.Open();
                IDbTransaction _trans = conn.BeginTransaction();
                try
                {
                    DbCommand _cmd = db.GetSqlStringCommand("Insert Into Roles(Id,Name) values(@Id,@Name)");
                    db.AddInParameter(_cmd, "Id", DbType.Int32, 45);
                    db.AddInParameter(_cmd, "Name", DbType.String, "UI设计");
                    db.ExecuteNonQuery(_cmd, _trans as DbTransaction);
                    db.ExecuteNonQuery(_cmd, _trans as DbTransaction);//字段上建有唯一索引,故第二次插入同样记录时会报错
                    _trans.Commit();
                }
                catch
                {
                    try
                    {
                        _trans.Rollback();//事务提交失败时,则回滚(是否回滚成功,可查看表中有无AA的记录即可)
                    }
                    catch { }
                }
                finally
                {
                    conn.Close();
                }
            }
        }
    }
}

 

 

 

 

六,添加生成事件脚本,复制Config,没有Config会报错

copy "$(ProjectDir)\*.config" "$(TargetDir)"

image
示例源码下载:EL41Sample.rar
Enterprise Library 4.1 目录:Enterprise Library 4.1 快速使用图文笔记 目录

分享到:
评论

相关推荐

    Enterprise Library4.1安装包下载

    在下载的压缩包 "Enterprise Library 4.1 - October 2008.msi" 文件中,包含了安装程序,通过运行这个MSI文件,开发者可以在他们的开发机器上安装整个Enterprise Library 4.1框架,从而获得上述所有组件的使用权限。...

    Enterprise Library 4.1 安装程序

    1. **Data Access Application Block (DAAB)**:这是一个用于简化数据库交互的库,它提供了数据库连接的抽象和SQL命令的执行,支持多种数据库平台,如SQL Server、Oracle、MySQL等。 2. **Exception Handling ...

    Microsoft Enterprise Library 4.1(企业库)验证模块中文帮助文档

    Microsoft Enterprise Library 4.1的验证模块是解决数据验证问题的强大工具,它提供了丰富的预定义验证策略和可配置参数,使得开发者能够快速、高效地实现数据输入验证,从而提升应用的质量和稳定性。通过深入理解并...

    Enterprise Library 企业库 V4.1 中文学习手册

    Enterprise Library – Data Access Application Block 学习手册(最新版) - Part 1 Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是 patterns & practices 小组为.NET Framework 3.5 开发一套企业库...

    Enterprise Library 4.1文档

    《最新版 Enterprise Library 企业库 V4[1].1 中文学习手册.pdf》提供了详细的图文教程,涵盖了Enterprise Library 4.1的安装、配置、使用方法以及各应用块的深入解析。通过阅读此手册,开发者能够快速掌握企业库的...

    Enterprise Library 4.1示例

    1. **数据访问应用块** (Data Access Application Block, DAAB): Enterprise Library 4.1 提供了DAAB,它抽象出数据库访问层,使开发者可以使用统一的接口来与不同的数据库系统交互,如SQL Server、Oracle或MySQL...

    Enterprise Library 4.1 学习资料

    总之,Enterprise Library 4.1 学习资料是一份宝贵的资源,可以帮助.NET开发者快速掌握这个强大的工具集,并将其应用于实际项目中,提升开发效率和代码质量。通过阅读和实践,你将能够更好地理解和运用面向服务架构...

    Enterprise Library 4.1 - October 2008.part1

    微软—数据库—操作类—带源码 微软—数据库—操作类—带源码 微软—数据库—操作类—带源码 微软—数据库—操作类—带源码 微软—数据库—操作类—带源码

    Enterprise Library 4.1 - October 2008.msi

    微软模式&实践团队的开源作品 希望学习wcsf的朋友必不可少的类库哦

    Enterprise Library V4.1 中文学习手册.PDF

    1. 数据访问应用块(Data Access Application Block, DAAB):DAAB 提供了一种抽象层,使得开发者可以轻松地与各种数据库系统交互,如 SQL Server、Oracle 和 ODBC 数据源。它支持数据库连接池,事务管理和参数化...

    enterprise library 4.1 学习资料

    在《EnterpriseLibrary企业库V4.1中文学习手册.pdf》中,你将找到这些组件的详细说明,包括如何配置、如何在项目中使用以及各种示例代码。这本书将指导你理解每个应用块的工作原理,如何集成它们到你的项目中,以及...

    Enterprise Library4.1中文教程

    Enterprise Library4.1中文教程,共8个模块。安全管理(Security Application Block), 缓存管理(Caching Application Block)...都一一做了介绍

    Enterprise Library4.1学习手册

    Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小组为.NET Framework 3.5 开发一套企业库,目前最新版本为v4.1,共包括9个Application Block,包括数据访问(Data Access ...

    Enterprise Library --Data Access Application Block入门

    Enterprise Library 是微软 Patterns & Practices 团队开发...通过以上内容,你可以开始使用Enterprise Library中的Data Access Application Block进行数据访问操作。记得在实践中不断探索和优化,以适应你的项目需求。

    Microsoft.Practices.EnterpriseLibrary.Data示例

    2. **Data Access Block 提供的安全特性**:通过使用预编译的存储过程和参数化查询,Enterprise Library帮助开发者避免了潜在的SQL注入漏洞。 四、数据访问策略 1. **事务管理**:Enterprise Library 提供了对本地...

    最新版 Enterprise Library 企业库 V4.1 中文学习手册.rar

    1. 数据访问应用块(Data Access Application Block,DAAB):DAAB 提供了一种统一的方式来访问数据库,无论你使用的是SQL Server、Oracle还是其他数据库系统。它抽象了数据库连接、命令执行和结果集处理,使得...

    Microsoft.Practices.EnterpriseLibrary.Data.dll等三个类

    Microsoft.Practices.EnterpriseLibrary.Data.dll Microsoft.Practices.EnterpriseLibrary.Common.dll Microsoft.Practices.ObjectBuilder.dll

    Microsoft.Practices.EnterpriseLibrary.Data

    1. **数据访问抽象**:Enterprise Library Data Block 提供了数据访问的统一接口,通过`Database`类,开发者可以创建和管理数据库连接,执行SQL语句或存储过程,无需关注底层的数据库连接字符串或者连接池的细节。...

Global site tag (gtag.js) - Google Analytics