通用数据访问组件
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
}
代码
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 }
相关文章推荐
- 写一个通用数据访问组件
- 实现基于通用数据访问组件的三层架构之补充篇
- 实现基于通用数据访问组件的三层架构之实战篇
- 写一个通用数据访问组件
- 写一个通用数据访问组件
- ADO.NET--事务的通用数据访问方法
- 发布NBearLite v1.0.0: 提供强类型查询语法的非ORM数据访问组件 [8/2 更新至v1.0.0.9 beta - 修复NBearLite参考手册某些操作系统打开错误的问题]
- (05)通用的数据访问接口 IDbHelper
- DataAccessor数据访问组件介绍
- C# 通用数据访问类(SqlHelper)
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现数据列的权限,附源码
- 大数据学习笔记03-HDFS-HDFS组件介绍及Java访问HDFS集群
- java入门笔记一:浅谈反射(reflect)&泛型(genericity)在通用数据访问库中的应用
- 高性能ORM数据访问组件Deft,比dapper快20%以上
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现数据列的权限,附源码
- JAVA服务端通用数据导入导出组件V1.0
- 通用数据库访问组件
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现集团-分公司-分店-部门-员工的实体,连锁店业务系统的基础数据管理
- C# 通用数据访问类(SqlHelper)
- 超轻量级高性能ORM数据访问组件Deft,比dapper快20%以上