企业库EnterpriseLibrary学习笔记之--通过企业库Microsoft.Practices.EnterpriseLibrary,实现调用存储过程的封装

实例:通过企业库Microsoft.Practices.EnterpriseLibrary,在System.Data.DbCommand对象中内置存储对象

     步骤:

     1、添加企业库的dll文件:Microsoft.Practices.EnterpriseLibrary.Data.DLL....,需自己从网上下

     2、例子为通过 Microsoft.Practices.EnterpriseLibrary.Data.Database中含有的方法,在DbCommand实现了ASP调用存储过程很好的封装,最终返回一个内置存储调用的DBCommand方法。

     3、例子供大家学习

 
       具体代码:
      

public class DBCommand
{
        //企业数据库对象
        private static Microsoft.Practices.EnterpriseLibrary.Data.Database db;
        //内置存储过程对象
        private readonly System.Data.Common.DbCommand dbCommand;

        /// <summary>
        /// 创建企业数据库对象
        /// </summary>
        private static void CreateDataBase()
        {
           
            DBCommand.db = DatabaseFactory.CreateDatabase("Data Source=(local);Initial Catalog=chenyun;Integrated Security=True");
        }

        /// <summary>
        /// 实例化存储过程对象
        /// </summary>
        /// <param name="dbCommandNameOrSqlString">存储过程名</param>
        public DBCommad(string dbCommandNameOrSqlString)
        {
            if (db == null)
                CreateDataBase();
            dbCommand = db.GetStoredProcCommand(dbCommandNameOrSqlString);
        }

        /// <summary>
        /// 创建存储过程
        /// </summary>
        /// <param name="dbCommandName">存储过程名</param>
        /// <returns>数据库命令对象</returns>
        public static DBCommand CreateStoredProcCommand(string dbCommandName)
        {
            var cmd = new DBCommand(dbCommandName);
            return cmd;
        }

        #region 为存储过程添加参数

        /// <summary>
        /// 增加输入参数
        /// </summary>
        /// <param name="paraName">参数名</param>
        /// <param name="paraDbType">参数类型</param>
        /// <param name="paraValue">参数值</param>
        public void AddInParameter(string paraName, DbType paraDbType, object paraValue)
        {
            db.AddInParameter(this.dbCommand, paraName, paraDbType, paraValue);
        }

        /// <summary>
        /// 增加输出参数
        /// </summary>
        /// <param name="paraName">参数名</param>
        /// <param name="paraDbType">参数类型</param>
        /// <param name="size">参数大小</param>
        public void AddOutParameter(string paraName, DbType paraDbType, int size)
        {
            db.AddOutParameter(this.dbCommand, paraName, paraDbType, size);
        }

        #endregion

        #region 执行存储过程并返回结果的方法
        /// <summary>
        /// 执行存储过程返回DbDataReader结果
        /// </summary>
        /// <returns>结果读取器</returns>
        public IDataReader ExecuteReader()
        {
            try
            {
                return DBCommand.db.ExecuteReader(this.dbCommand);
            }
            catch
            {
                CreateDataBase();
                return DBCommand.db.ExecuteReader(this.dbCommand);
            }
        }

        #endregion
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Microsoft.Practices.EnterpriseLibrary.Data是一个强大的.NET框架,用于开发企业级应用程序。连接字符串是用于连接到数据库的重要组成部分。在某些情况下,我们需要对连接字符串进行加密以增加安全性。 要对连接字符串进行加密,我们可以使用Microsoft提供的企业库Enterprise Library)中的数据访问块(Data Access Block)。以下是一些步骤: 1. 首先,我们需要在项目中添加对Microsoft.Practices.EnterpriseLibrary.Data的引用。可以通过NuGet包管理器来安装。 2. 接下来,我们需要在config文件中定义连接字符串。可以使用app.config(用于Windows桌面应用程序)或web.config(用于Web应用程序)文件。例如: ``` <connectionStrings> <add name="MyDatabase" connectionString="[Your Connection String Here]" providerName="System.Data.SqlClient" /> </connectionStrings> ``` 3. 然后,我们需要在config文件中配置加密。可以在configSections中添加以下配置: ``` <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data" /> ``` 并在configuration节点下添加以下配置: ``` <dataConfiguration defaultDatabase="MyDatabase" /> ``` 4. 接下来,我们需要使用工具对连接字符串进行加密。可以使用命令行实用程序`encrypt.exe`,该程序位于Enterprise Library安装目录的bin文件夹中。 打开命令提示符,并导航到`encrypt.exe`所在的目录。然后使用以下命令对连接字符串进行加密: ``` encrypt.exe -section:connectionStrings -prov DataProtectionConfigurationProvider -appConfig "path\to\your\config\file" ``` 这将使用Windows数据保护API对连接字符串进行加密,并将结果存储在config文件中。 5. 最后,我们可以在代码中使用加密后的连接字符串。使用DatabaseFactory类的CreateDatabase方法来获取数据库实例。例如: ```csharp Database db = DatabaseFactory.CreateDatabase(); ``` 通过以上步骤,我们可以使用Microsoft.Practices.EnterpriseLibrary.Data的加密功能对连接字符串进行加密。这将增加我们应用程序的安全性,并保护敏感的数据库连接信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值