• Enterprise Library Step By Step系列(三):数据访问程序块——入门篇


    写在前面:本来在前面说要写配置应用程序块的设计篇,现在我想先把各个应用程序块的入门篇和进阶篇写完后,再统一写设计篇,希望大家理解:)

    在本篇随笔里面,一步一步说明怎么去用数据访问应用程序块来进行数据的访问,并给出相关的图示。

    一.Data Access Application Block能够做什么?

           1.提供最佳实践;

           2.改善一致性;

           3.改善安全性;

           4.改善易用性;

    二.Data Access Application Block使用:

    这里我把DAAB的使用过程总结为三部曲。在开始前我们假设已经有一个新建好的项目,并且有Web.configApp.config配置文件。

    第一步 定义配置:

    1.运行Enterprise Library Configuration 工具选择File | Open Application 打开App.config文件

    2.右击Application,并选择New | Data Access Application Block

     

    3.我们看到,在创建了一个Data Access Application Block的同时,也创建了一个Configuration Application Block。因为所有的应用程序快都是以配置应用程序块为基础的。

    4.修改数据库的名称:

     

    5.修改服务器的名称:

     

    6.右击Sql Connection String,选择Parameter,创建一个新参数:

     

    7.修改参数的名称为Uid,并修改Value,指定登录名:

     

    8.用同样的方法再创建一个Password Parameter,取名PwdValue为登录密码:

    9.最后创建一个数据库的实例:

     

    10.选择File | Save All命令保存全部:

    11.在项目中选择 属性|生成事件|生成后事件命令行 输入如下内容:

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


    第二步 创建数据库实例:

    创建数据库实例有两种方法,一是默认的数据库实例,一是用命名实例映射到配置文件。

    1///创建默认的实例
    2                Database db = DatabaseFactory.CreateDatabase();
    3                
    4                ///创建数据库实例
    5                Database db = DatabaseFactory.CreateDatabase("NorthWind");

    第三步 执行SQL语句:

         DAAB可以执行静态的SQL语句,或者存储过程等。

            相关代码如下:

     1/// <summary>
     2        /// 返回DataSet类型
     3        /// </summary>

     4        private DataSet GetDataSet()
     5        {                
     6            DataSet ds = db.ExecuteDataSet(CommandType.Text,"SELECT * FROM Employees");
     7
     8            return ds;
     9        }

    10        
    11        /// <summary>
    12        /// 返回DataReader类型
    13        /// </summary>
    14        /// <returns></returns>

    15        private DataReader GetDataReader()
    16        {            
    17            DataReader dr = db.ExecuteReader(CommandType.Text,"SELECT * FROM Employees");
    18
    19            return dr;
    20        }

    21        
    22        /// <summary>
    23        /// 返回单值
    24        /// </summary>
    25        /// <returns></returns>

    26        private int GetSigleValue()
    27        {
    28            int iCount = db.ExecuteScalar(CommandType.Text,"SELECT COUNT(*) FROM Employees");
    29
    30            return iCount;
    31        }


    总结,本文只是简单的给出DAAB的使用过程,在下篇的进阶篇中我会写使用DAAB执行存储过程以及参数的传递、事务的支持,连接信息的加密等内容。

    支持TerryLee的创业产品Worktile
    Worktile,新一代简单好用、体验极致的团队协同、项目管理工具,让你和你的团队随时随地一起工作。完全免费,现在就去了解一下吧。
    https://worktile.com
  • 相关阅读:
    cocos2dx 2.0 学习笔记简单动画
    几种插入数据的方法
    c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存
    C#高效编程改进C#代码的50个行之有效的办法摘抄笔记
    获取两个日期之间的每一天
    取SQL中某个字段的后两位
    该行已经属于另一个表 的解决办法
    一个实体对象不能由多个 IEntityChangeTracker 实例引用
    MVC返回JSON,IE下无法接收JSON,IE下JSON提示另存为
    entity framework DbContext Attach判断
  • 原文地址:https://www.cnblogs.com/Terrylee/p/257167.html
Copyright © 2020-2023  润新知