您的位置:首页 > 其它

通用数据访问组件

2010-05-28 00:14 621 查看
需要的可以去下载

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
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: