`

l连接任意数据库 封装类

阅读更多

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Configuration;
using System.Data.SqlClient;
using System.Collections;


namespace Common.Dba
{
    public class DbAccess
    {

        private string _ConnectionString = "";
        public string ConnectionString
        {
            get {
                return "Data Source=ORACLE9I;User Id=wangdetian;Password=wangdetian;";
                //_ConnectionString = string.IsNullOrEmpty(_ConnectionString) ? ("") : (_ConnectionString);
                //return _ConnectionString.Length > 0 ? (_ConnectionString) : (Convert.ToString(ConfigurationManager.AppSettings["datasource"] ?? ""));
            }
        }
       public DbConnection conn = null;
       protected DbCommand cmd = null;
  
        /// <summary>
        /// 获取数据根据Oracle语句
        /// </summary>
        /// <param name="Oracle"></param>
        /// <returns></returns>
        public virtual DataTable GetTable(string sql)
        {
         
            return  new DataTable();
        }
        /// <summary>
        /// 获取数据根据sql语句
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public virtual DataSet GetDataSet(string sql)
        {
            return new DataSet();
        }
        /// <summary>
        /// 获取数据根据sql语句
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public virtual DataSet GetDataSet(string sql, DbParameter[] pas)
        {
            return new DataSet();
        }
        /// <summary>
        /// 获取数据根据sql语句 带参数 的
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public virtual DataTable GetTable(string sql, params DbParameter[] pas)
        {
           return  new DataTable();
        }
        /// <summary>
        /// 获取数据根据sql语句 带参数 的
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public virtual DataTable GetProcTable(string procname, params DbParameter[] pas)
        {      
            return  new DataTable();
        }
        /// <summary>
        /// 获取数据根据sql语句 带参数 的
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public virtual DataTable GetProcCursorTable(string procname, params DbParameter[] pas)
        {
      
            return  new DataTable();
        }
        /// <summary>
        /// 获取数据根据sql语句 带参数 的
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public virtual int GetProcState(string procname, params DbParameter[] pas)
        {
            return 0;
        }
        /// <summary>
        /// 获取数据根据sql语句 带参数 的
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public virtual int GetProcStateNo(string procname, params DbParameter[] pas)
        {
            return 0;
        }
        /// <summary>
        /// 存储过程返回值的
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public virtual string GetProcStateReturnValue(string procname, params DbParameter[] pas)
        {   
                return "";        
        }
        /// <summary>
        /// 根据sql语句返回跟新状态
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public virtual bool GetState(string sql)
        {
            return false;

        }
        /// <summary>
        /// 根据sql语句返回跟新状态带参数的
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <param name="pas">参数的集合</param>
        /// <returns></returns>
        public virtual bool GetState(string sql, params DbParameter[] pas)
        {
            return false;

        }
        /// <summary>
        /// 根据sql语句返回第一个单元格的数据
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public virtual string GetOne(string sql)
        {
        
            return "";
        }
        /// <summary>
        ///  根据sql语句返回第一个单元格的数据带参数的
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public virtual string GetOne(string sql, params DbParameter[] pas)
        {
            return "";
        }
        /// <summary>
        /// 返回数据的DataReader
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public virtual DbDataReader GetDataReader(string sql)
        {
           DbDataReader dr = null;
          
            return dr;
        }
        /// <summary>
        /// 返回数据的DataReader带参数的
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public virtual DbDataReader GetDataReader(string sql, params DbParameter[] pas)
        {
            DbDataReader dr = null;
           
            return dr;
        }
        /// <summary>
        /// 事务处理函数
        /// </summary>
        /// <param name="al"></param>
        /// <returns></returns>
        public virtual bool GetTranState(ArrayList al)
        {
            return false;

        }
        /// <summary>
        /// 事务处理函数
        /// </summary>
        /// <param name="al"></param>
        /// <returns></returns>
        public virtual bool GetTranStateParameter(ArrayList al)
        {
            return false;

        }
        /// <summary>
        /// 分页函数
        /// </summary>
        /// <param name="pagesize"></param>
        /// <param name="columns"></param>
        /// <param name="tablename"></param>
        /// <param name="pid"></param>
        /// <param name="order"></param>
        /// <param name="current"></param>
        /// <returns></returns>
        public virtual DataTable GetPageData(int current, int pagesize, string columns, string tablename, string pid, string where, string order)
        {
            current = current - 1 >= 0 ? (current - 1) : (0);
            string sql = string.Format("select top {0} {1} from {2} where 1=1 and {3} not in(select top {4}{3} from {2} where 1=1{5}  order by {6}){5} order by {6}", pagesize, columns, tablename, pid, current * pagesize, where, order);
            return GetTable(sql);

        }
        /// <summary>
        /// 分页存储过程的调用
        /// </summary>
        /// <param name="current"></param>
        /// <param name="pagesize"></param>
        /// <param name="columns"></param>
        /// <param name="tablename"></param>
        /// <param name="pid"></param>
        /// <param name="where"></param>
        /// <param name="order"></param>
        /// <returns></returns>
        public virtual DataTable GetProcPageData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string ordertype)
        {
            return new DataTable();
        }
        /// <summary>
        /// 分页存储过程的调用
        /// </summary>
        /// <param name="current"></param>
        /// <param name="pagesize"></param>
        /// <param name="columns"></param>
        /// <param name="tablename"></param>
        /// <param name="pid"></param>
        /// <param name="where"></param>
        /// <param name="order"></param>
        /// <returns></returns>
        public virtual DataTable GetProcData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string resultCount, string distinct)
        {
            return new DataTable();

        }
        /// <summary>
        /// 分页存储过程的调用
        /// </summary>
        /// <param name="current"></param>
        /// <param name="pagesize"></param>
        /// <param name="columns"></param>
        /// <param name="tablename"></param>
        /// <param name="pid"></param>
        /// <param name="where"></param>
        /// <param name="order"></param>
        /// <returns></returns>
        public virtual DataTable GetProcAdminData(int current, int pagesize, string columns, string tablename, string pid, string where, string order, string resultCount, string distinct)
        {
            return new DataTable();

        }
        public virtual DbParameter[] MakeParameters(params string[] str)
        {
            return null;
        }
        /// <summary>
        /// 打开连接
        /// </summary>
        public void OpenConn()
        {
            if (conn.State != ConnectionState.Open)
            {
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {


                    throw ex;
                }
            }
        }
        /// <summary>
        /// 关闭连接
        /// </summary>
        public void CloseConn()
        {
            if (conn.State != ConnectionState.Closed)
            {
                try
                {
                    conn.Close();

                }
                catch (Exception ex)
                {


                    throw ex;
                }
            }
        }
        /// <summary>
        /// 销毁连接
        /// </summary>
        public void DisposeConn()
        {
            try
            {
                if (conn.State != ConnectionState.Closed)
                {
                    try
                    {
                        conn.Close();

                    }
                    catch (Exception ex)
                    {


                        throw ex;
                    }
                }
            }
            catch
            {

            }
        }
    }
}

分享到:
评论

相关推荐

    用QT封装的操作各类数据库的接口类

    本项目通过QT封装了对多种数据库的接口类,包括SQL Server、MySQL、SQLite和ODBC,使得开发者能够更加方便地在QT环境中进行数据库操作。 首先,`DBHelper`类是整个系统的中心,它负责提供与各种数据库交互的通用...

    android 数据库操作封装类 继承可用

    在这个场景下,我们有一个名为`DataBaseHelper.java`的文件,它提供了一个基本的数据库封装,可以被其他类继承以进行自定义扩展。 `DataBaseHelper`类通常会实现以下几个关键功能: 1. **初始化数据库**: 在...

    QSqlQuery访问数据库的封装类

    在这个封装类中,开发者采用了单例模式来管理数据库连接。单例模式确保任何时候只有一个实例存在,这样可以避免资源浪费,尤其是在多线程环境中,防止了多个线程同时打开数据库导致的潜在问题。通常,单例类会有一个...

    c#.net 抽象数据库连接类(适合所有数据库)

    在C#.NET编程中,创建一个抽象的数据库连接类是一个重要的设计模式,它允许开发者编写通用的代码来处理各种不同的数据库系统,如SQL Server、MySQL、Oracle等。这个设计模式通常被称为“数据提供者”(DataProvider...

    VC下ADO数据库操作的封装类

    `CPFile.h` 中的 `CPData` ...通过这个封装类,开发者可以更方便地在 VC 工程中进行数据库操作,而无需直接处理底层的 ADO 接口,提高了代码的可读性和可维护性。同时,通过事务处理,保证了数据操作的原子性和一致性。

    实用的SQLite C++封装类

    该封装类提供了对SQLite数据库的基本操作,如创建、打开、关闭数据库,执行SQL语句,以及读取和写入数据。下面是这个封装类可能包含的一些核心功能: 1. **数据库连接管理**: - `open(const char* db_path)`: 这...

    IOS 下SQLite3数据库的连接工具类

    这个标题为"IOS 下SQLite3数据库的连接工具类"的示例代码,提供了在Xcode 4.2环境下连接和操作SQLite3数据库的工具类。 首先,要使用SQLite3,我们需要在项目中引入`libsqlite3.tbd`或`libsqlite3.dylib`库。在...

    一个php连接mysql数据库操作类库.zip

    通过实例化类,并调用相应的方法,即可进行数据库操作。例如: ```php $db = new MysqlConnection('localhost', 'username', 'password', 'database'); $db-&gt;connect(); // 查询数据 $results = $db-&gt;select('...

    PHPmysql数据库操作类扫描.pdf

    这个PHP类提供了一种封装和抽象数据库操作的方式,使得开发者可以更方便地管理数据库交互,减少手动处理连接、查询和错误处理的代码。同时,通过类的实例化和方法调用,可以灵活地控制数据库操作的行为,如选择不同...

    易语言数据库任意插入

    易语言是一种专为中国人设计的...总的来说,易语言数据库任意插入涉及的主要知识点包括:数据库连接、SQL语句的构造与执行、错误处理以及数据库操作的封装。掌握这些内容,将有助于你更高效地进行易语言数据库编程。

    ACCESS数据库C#操作类

    该类通过抽象方法封装了与ACCESS数据库交互的细节,使得开发者可以更专注于业务逻辑而非底层数据库操作。 #### 使用配置连接字符串 `DbHelperACE`类中定义了一个静态属性`connectionString`,用于存储与ACCESS...

    php mysql封装类

    这类封装类通常包含了连接、查询、插入、更新、删除等基本数据库操作,使得代码更加简洁、易于维护。 首先,我们要理解什么是封装。在面向对象编程中,封装是一种将数据和方法捆绑在一起的机制,隐藏内部细节,只...

    一个ADO编程封装类

    总的来说,这个封装类为VC++的数据库开发提供了便利,通过面向对象的方式简化了ADO接口的使用,让开发者能够更专注于业务逻辑,而非底层的数据库操作。在实际项目中,这样的封装可以提高代码的可读性和可维护性,...

    Javaweb新手入门案例 数据库连接登录注册

    JavaBean是符合一定规范的Java类,通常用于封装业务逻辑。 2. **数据库连接**: 在这个案例中,我们可能会使用JDBC(Java Database Connectivity)来与MySQL数据库进行交互。JDBC提供了一组API,使得Java程序可以...

    完整的php操作MySQL数据库类.zip

    它将常见的数据库操作,如连接、查询、插入、更新和删除等,封装成了一系列的方法,方便开发者在项目中调用,提高了代码的可维护性和复用性。 首先,我们来看一下如何使用此类来连接MySQL数据库。在PHP中,通常使用...

    asp无限级分类源代码(带数据库)+示例

    在数据库设计中,无限级分类是指能够容纳任意数量层级的分类系统。例如,在电商网站中,商品可能被归类为"电子产品&gt;手机&gt;苹果手机&gt;iPhone 13",这种结构可以无限扩展。在ASP中实现无限级分类,通常会用到递归或自...

    泛类绑定数据库

    通过ADO.NET连接数据库并执行SQL语句后,可以将结果集填充到`DataSet`中。 - **绑定示例**:例如,在页面加载时,可以使用以下代码将数据库查询结果绑定到`GridView`控件上: ```csharp this.DataList1....

    c++ SQLite 封装类以及例子

    SQLite 是一个轻量级的...在实际项目中,封装类还可以考虑使用智能指针管理 SQLite 数据库资源,以避免内存泄漏。同时,为了提高性能和简化代码,可以考虑使用 ORM(对象关系映射)库,如 SqliteCpp 或 Sqlite3xx。

    PHP DB 数据库连接类定义与用法示例

    本文将详细介绍PHP DB数据库连接类的定义以及用法,重点在于PHP中如何使用mysqli扩展进行数据库的连接,并且封装了增删改查等数据库常见操作,这些封装技巧对于开发过程中频繁与数据库交互的应用十分有用。...

Global site tag (gtag.js) - Google Analytics