C#中数据库的访问(工厂模式)(UserLib.Database)

 
1. 首先我们先来定义数据库的类型
 
using System;
 
namespace UserLib.Database
{
     ///<summary>
     /// 数据库类型
     ///</summary>
     public enum DatabaseType
     {
         OleDb,             //OleDb 数据库
         SqlServer,         //SqlServer 数据库
        Odbc,              //Odbc 数据库
     }
}
 
2. 接着我们定义一个数据库访问的接口,提供通用的访问方法
 
using System;
using System.Data;
using System.Data.Common;
 
namespace UserLib.Database
{
    ///<summary>
    /// 数据库通用接口
    ///</summary>
    public interface IDatabase
    {
        ///<summary>
        /// 打开数据库
        ///</summary>
        ///<param name="connString"> 连接字符串 </param>
        void Open(string connString);
 
        ///<summary>
        /// 关闭数据库
        ///</summary>
        void Close();
 
        ///<summary>
        /// 数据集
        ///</summary>
        DataSet DataSetDB { get;}
 
        ///<summary>
        /// 数据连接
        ///</summary>
        DbConnection ConnectionDB { get;}
 
        ///<summary>
        /// 获取数据库类型
        ///</summary>
        ///<returns> 数据库类型 </returns>
        DatabaseType GetDatabaseType();
 
        ///<summary>
        /// 执行SQL语句
        ///</summary>
        ///<param name="sql">SQL 语句 </param>
        ///<returns> 影响行数 </returns>
        int ExecuteSQL(string sql);
 
        ///<summary>
        /// 执行SQL语句
        ///</summary>
        ///<param name="cmd"> 数据命令 </param>
        ///<returns> 影响行数 </returns>
        int ExecuteSQL(DbCommand cmd);
 
        ///<summary>
        /// 执行SQL语句
        ///</summary>
        ///<param name="sql">SQL 语句 </param>
        ///<returns> 第一行第一列值 </returns>
        object ExecuteSQLReturn(string sql);
 
        ///<summary>
        /// 执行SQL语句
        ///</summary>
        ///<param name="cmd"> 数据命令 </param>
        ///<returns> 第一行第一列值 </returns>
        object ExecuteSQLReturn(DbCommand cmd);
 
        ///<summary>
        /// 返回DataReader对象
        ///</summary>
        ///<param name="sql">SQL 语句 </param>
        ///<returns>DataReader 对象 </returns>
        DbDataReader ReturnDataReader(string sql);
 
        ///<summary>
        /// 返回DataReader对象
        ///</summary>
        ///<param name="cmd"> 查询命令 </param>
        ///<returns>DataReader 对象 </returns>
        DbDataReader ReturnDataReader(DbCommand cmd);
 
        ///<summary>
        /// 在数据集中加入有SQL语句生成的表
        ///</summary>
        ///<param name="sql">SQL 语句 </param>
        ///<param name="tbName"> 表名称 </param>
        ///<returns> 数据集 </returns>
        DataSet AddTable(string sql, string tbName);
 
        ///<summary>
        /// 在数据集中加入有SQL语句生成的表
        ///</summary>
        ///<param name="cmdSelect"> 查询命令 </param>
        ///<param name="tbName"> 表名称 </param>
        ///<returns> 数据集 </returns>
        DataSet AddTable(DbCommand cmdSelect, string tbName);
 
        ///<summary>
        /// 在数据集中加入有SQL语句生成的表
        ///</summary>
        ///<param name="sql">SQL 语句 </param>
        ///<param name="tbName"> 表名称 </param>
        ///<param name="da"> 导出数据适配器 </param>
        ///<returns> 数据集 </returns>
        DataSet AddTable(string sql, string tbName, out DbDataAdapter da);
 
        ///<summary>
        /// 在数据集中加入有SQL语句生成的表
        ///</summary>
        ///<param name="cmdSelect"> 查询命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值