C#之DatabaseHelper

在C#最后的一个加密解密的实例中,说到了DatabaseHelper,DatabaseHelper是一种能连接4中数据库的DatabaseHelper类,也就是说在连接数据库时,你的数据库可能是SQL Server,可能是OLEDB或者其他的,为了让数据库连接,查询等不受影响,我们就需要这样一个中介可以连接不同的数据库——DatabaseHelper。下面是实战中DatabaseHelper的一段
摘要由CSDN通过智能技术生成

         在C#最后的一个加密解密的实例中,说到了DatabaseHelper,DatabaseHelper是一种能连接4中数据库的DatabaseHelper类,也就是说在连接数据库时,你的数据库可能是SQL Server,可能是OLEDB,该类提供了几种初始化重载方法,可以直接将连接字符串传入,或者通过web.config配置文件ConnectionString["connectionstring"],可以直接指明数据库类型,也可以不指明(该类可以自动分析)我们就需要这样一个中介可以连接不同的数据库——DatabaseHelper。下面是实战中DatabaseHelper的一段代码。

using System;
using System.Collections.Generic;
using System.Text;
using System.Data ;
using System.Configuration ;
using System.Data.Common ;
using System.Data.SqlClient;
using System.Data.Odbc;
using System.Data.OleDb;
using System.Data.OracleClient;
using System.IO;

namespace WebHelper.DB
{
    public class DatabaseHelper:IDisposable 
    {
        private string strConnectionString;
        private DbConnection objConnection;
        private DbCommand objCommand;//表示对数据源执行的SQL语句或存储过程
        private DbProviderFactories objFactory = null;//用于创建类的一个或多个实例
        private bool boolHandleErrors;
        private string strLastError;
        private bool boolLogError;
        private string strLogFile;
        //根据databasehelper初始化一个新类
        public DatabaseHelper (string connectionstring,Providers.provider )
        {
            strConnectionString = connectionstring;//有参构造方法,在实例化类的时候可以指定数据库连接字符串
	//这个类采用了简单工厂设计模式,case 判断的是 你传递的参数类型,这个参数从代码上看应该是枚举类型,即你可以选择你使用的是哪种数据库,共4种选择,当然必须选对(跟你要使用的数据库一致),不然会出错
            switch (provider )
            {
                case Provider.SqlServer:
                    objFactory =SqlClientFactory.Instance ;
                    break ;
                case Providers.OleDb:
                    objFactory =OleDbFactory.Instance ;
                    break ;
                case Providers.Oracle:
                    objFactory =OracleClientFactory.Instance;
                    break ;
                case Providers.ODBC:
                    objFactory =OdbcFactory .Instance ;
                    break ;
                case Providers.ConfigDefined;
                string providername=ConfigurationManager.ConnectionString["connectionstring"].ProviderName;
                    switch (providername )
                    {
                        case "System.Data.SqlClient":
                            objFactory =SqlClientFactory .Instance ;
                            break ;
                        case "System.Data.OleDb":
                            objFactory =OleDbFactory .Instance ;
                            break ;
                        case "System.Data.OracleClient":
                            objFactory =OracleClientFactory.Instance;
                            break ;
           
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值