SingleYW

喜欢努力的状态

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

需要的可以去下载

http://win.51aspx.com/CV/CommonTest/

http://singleyw.download.csdn.net/

 

 

 

通用数据库访问类(优化版)源码

通用数据库访问类 通过配置 可实现不同数据库的的访问,

目前实现了SQLserver, Oracle, DataAccess

这可节略大量数据库访问代码,配合我的代码生成器(http://win.51aspx.com/CV/ClassGenerate/)
将极大节略开发成本

引用组件后,需要在配置文件中加如下内容

<!--在配置文件中加如下-->

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
        <!-- 连接字符串 -->
        <add key="ConnectionString" value="server=.;database=master;uid=sa;pwd=sa"/><!-- SQLServer连接字符串 -->
        <!--<add key="ConnectionString" value="Data Source=myoracle;User Id=scott;Password=tiger;"/>--><!-- Oracle连接字符串 -->
        <!--<add key="ConnectionString" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb;Persist Security Info=False;"/>-->
        <!-- Access连接字符串 -->

        <!-- 数据访问类的类名(名称空间.类名) 继承IDBOperator接口的类 -->
        <add key="typeName" value="Common.DataAccess.SQLDBOperator"/> <!-- SQLServer方式 -->
        <!--<add key="typeName" value="Common.DataAccess.OracleDbOperator"/>--><!-- Oracle方式 -->
        <!--<add key="typeName" value="Common.DataAccess.OleDBOperator"/>--><!-- Access(兼容)方式 -->      
</configuration>


调用:
    IDBOperator idb = DBOperator.GetInstance();
    string sqlAccess = @"SELECT * FROM  Orders";
    DataTable dt = idb.ReturnDataTable(sqlAccess);

 

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

接口代码如下

 

    /// <summary>
    /// 数据库操作接口
    /// 所有操作只需提供SQL或存储过程
    /// 如果SQL或存储过程需要参数,需先执行AddParameter(string ParamName, object Value);  
    /// </summary>
 public interface IDBOperator
 {
 #region 设置连接
 /// <summary>
 /// 设置连接
 /// </summary>
 /// <param name="strConnectionString"></param>
 void SetConnection(string strConnectionString);
 #endregion
 #region 添加 SqlParameter
        /// <summary>
        /// 添加 SqlParameter
        /// </summary>
        /// <param name="ParamName">参数名</param>
        /// <param name="Value">参数值</param>
 void AddParameter(string ParamName, object Value);
 #endregion 添加 SqlParameter
        #region 清除 SqlParameter
        /// <summary>
        /// 清除 SqlParameter
        /// </summary>
        void ClearParameter(); 
        #endregion
 #region 判断表是否存在   返回 True/False   string SQL
 /// <summary>
 /// 判断数据库中表是否存在
 /// </summary>
 /// <param name="strTableName">表名称</param>
 /// <returns>返回值</returns>
 bool ExistTable(string strTableName);
 #endregion
 #region 检验是否存在数据 返回 True/False   string SQL
 /// <summary> 
 /// 检验是否存在数据 
 /// </summary> 
 /// <returns></returns>
 bool ExistData(string SQL) ;
 #endregion
 #region 执行SQL操作      返回 -1为失败 >0为成功   string SQL
 /// <summary> 
/// 运行SQL语句 
/// </summary> 
/// <param name="SQL"></param>
int ExeCmd(string SQL);
#endregion 
#region 返回DataSet对象  string SQL
/// <summary> 
/// 运行SQL语句,返回DataSet对象 
/// </summary>
/// <param name="procName">SQL语句</param> 
DataSet ReturnDataSet(string SQL) ;
/// <summary> 
/// 运行SQL语句,返回DataSet对象 
/// </summary> 
DataSet ReturnDataSet(string SQL, int StartIndex ,int PageSize, string tablename ) ;
#endregion
#region 返回DataTable对象 string SQL
/// <summary> 
/// 运行SQL语句,返回DataTable对象 
/// </summary>
/// <param name="procName">SQL语句</param> 
DataTable ReturnDataTable(string SQL) ;
#endregion 返回DataTable对象 string SQL 
#region 返回DataReader数据  string SQL
/// <summary> 
/// 返回SQL语句执行结果的第一行第一列 
/// </summary> 
/// <returns>字符串</returns> 
object ReturnValue(string SQL) ;
/// <summary> 
/// 以集合方式返回指定名称字段列的数据
/// </summary>
/// <param name="SQL">sql语句</param>
/// <returns></returns>
ArrayList ReturnValues(string SQL);
#endregion
#region 事务
/// < summary>
/// 开始事务
/// </summary>
void BeginTransaction();
/// <summary>
/// 提交事务,如出现异常就撤消执行
/// </summary>
void CommitTransaction();
/// <summary>
/// 回滚事务
/// </summary>
void RollbackTransaction();
#endregion 事务 ]
//存储过程................................................................
#region  运行存储过程,如果存储过程有参数需提前添加(AddParameter()),或传参数 prams
/// <summary>
/// 运行存储过程,返回 true 执行成功
/// 如果存储过程有参数需提前添加(AddParameter())
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
bool RunProc(string procName) ;
/// <summary> 
/// 运行存储过程,返回 true 执行成功
/// </summary> 
/// <param name="procName">存储过程名</param> 
/// <param name="prams">存储过程参数</param> 
bool RunProc(string procName, IDbDataParameter[] prams) ;
/// <summary>
/// 运行存储过程,返回DataTable
/// 如果存储过程有参数需提前添加(AddParameter())
/// </summary>
/// <param name="procName">存储过程名</param>
/// <returns>DataTable对象</returns>
DataTable RunProcReturnDatatable(string procName) ;
/// <summary> 
/// 运行存储过程,返回DataTable. 
/// </summary> 
/// <param name="procName">存储过程名.</param> 
/// <param name="prams">存储过程入参数组.</param> 
/// <returns>DataTable对象.</returns> 
DataTable RunProcReturnDatatable(string procName,IDbDataParameter[] prams) ;
/// <summary>
/// 运行存储过程,返回DataTable
/// 如果存储过程有参数需提前添加(AddParameter())
/// </summary>
/// <param name="procName">存储过程名</param>
/// <returns>DataSet对象</returns>
DataSet RunProcReturnDataSet(string procName) ;
/// <summary> 
/// 运行存储过程,返回DataTable. 
/// </summary> 
/// <param name="procName">存储过程名.</param> 
/// <param name="prams">存储过程入参数组.</param> 
/// <returns>DataSet对象.</returns> 
DataSet RunProcReturnDataSet(string procName,IDbDataParameter[] prams) ;
#endregion 运行存储过程如果存储过程有参数需提前添加(AddParameter()),或传参数 prams
}
代码
/// <summary>
/// 数据库操作接口
/// 所有操作只需提供SQL或存储过程
/// 如果SQL或存储过程需要参数,需先执行AddParameter(string ParamName, object Value);
/// </summary>
public interface IDBOperator
{
#region 设置连接
/// <summary>
/// 设置连接
/// </summary>
/// <param name="strConnectionString"></param>
void SetConnection(string strConnectionString);
#endregion
#region 添加 SqlParameter
/// <summary>
/// 添加 SqlParameter
/// </summary>
/// <param name="ParamName">参数名</param>
/// <param name="Value">参数值</param>
void AddParameter(string ParamName, object Value);
#endregion 添加 SqlParameter
#region 清除 SqlParameter
/// <summary>
/// 清除 SqlParameter
/// </summary>
void ClearParameter();
#endregion

#region 判断表是否存在 返回 True/False string SQL
/// <summary>
/// 判断数据库中表是否存在
/// </summary>
/// <param name="strTableName">表名称</param>
/// <returns>返回值</returns>
bool ExistTable(string strTableName);
#endregion
#region 检验是否存在数据 返回 True/False string SQL
/// <summary>
/// 检验是否存在数据
/// </summary>
/// <returns></returns>
bool ExistData(string SQL) ;
#endregion
#region 执行SQL操作 返回 -1为失败 >0为成功 string SQL
/// <summary>
/// 运行SQL语句
/// </summary>
/// <param name="SQL"></param>
int ExeCmd(string SQL);
#endregion
#region 返回DataSet对象 string SQL
/// <summary>
/// 运行SQL语句,返回DataSet对象
/// </summary>
/// <param name="procName">SQL语句</param>
DataSet ReturnDataSet(string SQL) ;
/// <summary>
/// 运行SQL语句,返回DataSet对象
/// </summary>
DataSet ReturnDataSet(string SQL, int StartIndex ,int PageSize, string tablename ) ;
#endregion
#region 返回DataTable对象 string SQL
/// <summary>
/// 运行SQL语句,返回DataTable对象
/// </summary>
/// <param name="procName">SQL语句</param>
DataTable ReturnDataTable(string SQL) ;
#endregion 返回DataTable对象 string SQL
#region 返回DataReader数据 string SQL
/// <summary>
/// 返回SQL语句执行结果的第一行第一列
/// </summary>
/// <returns>字符串</returns>
object ReturnValue(string SQL) ;
/// <summary>
/// 以集合方式返回指定名称字段列的数据
/// </summary>
/// <param name="SQL">sql语句</param>
/// <returns></returns>
ArrayList ReturnValues(string SQL);
#endregion

#region 事务
/// <summary>
/// 开始事务
/// </summary>
void BeginTransaction();
/// <summary>
/// 提交事务,如出现异常就撤消执行
/// </summary>
void CommitTransaction();
/// <summary>
/// 回滚事务
/// </summary>
void RollbackTransaction();
#endregion 事务 ]

//存储过程................................................................
#region 运行存储过程,如果存储过程有参数需提前添加(AddParameter()),或传参数 prams
/// <summary>
/// 运行存储过程,返回 true 执行成功
/// 如果存储过程有参数需提前添加(AddParameter())
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
bool RunProc(string procName) ;
/// <summary>
/// 运行存储过程,返回 true 执行成功
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
bool RunProc(string procName, IDbDataParameter[] prams) ;
/// <summary>
/// 运行存储过程,返回DataTable
/// 如果存储过程有参数需提前添加(AddParameter())
/// </summary>
/// <param name="procName">存储过程名</param>
/// <returns>DataTable对象</returns>
DataTable RunProcReturnDatatable(string procName) ;
/// <summary>
/// 运行存储过程,返回DataTable.
/// </summary>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程入参数组.</param>
/// <returns>DataTable对象.</returns>
DataTable RunProcReturnDatatable(string procName,IDbDataParameter[] prams) ;
/// <summary>
/// 运行存储过程,返回DataTable
/// 如果存储过程有参数需提前添加(AddParameter())
/// </summary>
/// <param name="procName">存储过程名</param>
/// <returns>DataSet对象</returns>
DataSet RunProcReturnDataSet(string procName) ;
/// <summary>
/// 运行存储过程,返回DataTable.
/// </summary>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程入参数组.</param>
/// <returns>DataSet对象.</returns>
DataSet RunProcReturnDataSet(string procName,IDbDataParameter[] prams) ;
#endregion 运行存储过程如果存储过程有参数需提前添加(AddParameter()),或传参数 prams
}

 

posted on 2010-05-28 00:14  SingleYW  阅读(1638)  评论(8编辑  收藏  举报