CWF框架之IDataHelper虚拟类,数据持久工厂接口.

这个类想了很久还是觉得用vb来写好些,一直觉得vb和数据库是亲家,这是以前的说法,说呀数据持久就用vb来写了.

这个工程的目的是这样的,通过这个桥的模式把最长用的三种数据库链接起来,然后在程序中让逻辑操作和具体数据库操作完全解耦合,这样变实现了业务逻辑数据操作和实际数据类型的无关性,要更改数据库就需要配置config文件来确定具体使用的数据库操作类型.

 

Imports System.Data.Common
Imports System.Data
Imports System.Data.SqlClient
Imports CWF.DataHelper
''' <summary>
''' 常用数据操作抽接口
''' 定义一个大的家族,并规定需要执行的过程
''' </summary>
''' <remarks>
''' 开发者:欧阳寒玟
''' 开发时间:2009-01-25
''' 修改时间:2010-10-25
''' 作者网站:http://www.coldwin.org
''' </remarks>
Public Interface IDbHelper

    ''' <summary>
    ''' 自定义链接字符串
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property ConnectionString As String
    ''' <summary>
    ''' 获取或设置连接对象
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property Connection As IDbConnection
    ''' <summary>
    ''' 获取或设置执行事务
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property TranSaction As System.Data.IDbTransaction
    ''' <summary>
    ''' 是否执行事务
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property isTranSaction As Boolean
#Region "执行语句"
    ''' <summary>
    ''' 关闭数据库连接
    ''' </summary>
    ''' <remarks></remarks>
    Sub Close()
    ''' <summary>
    ''' 不带参数执行cmdTxt
    ''' </summary>
    ''' <param name="cmdTxt">cmdTxt语句</param>
    ''' <remarks></remarks>
    Function Execute(ByVal cmdTxt As String) As Integer
    ''' <summary>
    ''' 带参数执行cmdTxt
    ''' </summary>
    ''' <param name="cmdTxt">cmdTxt语句</param>
    ''' <param name="Parameters">参数</param>
    ''' <remarks></remarks>
    Function Execute(ByVal cmdTxt As String, ByVal Parameters As IDbDataParameter()) As Integer
#End Region

#Region "查询数据"
    ''' <summary>
    ''' 不带参数返回DataTable
    ''' </summary>
    ''' <param name="cmdTxt">cmdTxt参数</param>
    ''' <returns>DataTable</returns>
    ''' <remarks></remarks>
    Function Query(ByVal cmdTxt As String) As DataTable
    ''' <summary>
    ''' 带参数返回DataTable
    ''' </summary>
    ''' <param name="cmdTxt">cmdTxt</param>
    ''' <param name="Parameters">参数</param>
    ''' <returns>DataTable</returns>
    ''' <remarks></remarks>
    Function Query(ByVal cmdTxt As String, ByVal Parameters As IDbDataParameter()) As DataTable
    ''' <summary>
    ''' 不带参数返回DataSet
    ''' </summary>
    ''' <param name="cmdTxt">cmdTxt参数</param>
    ''' <returns>DataSet</returns>
    ''' <remarks></remarks>
    Function QueryDataSet(ByVal cmdTxt As String) As DataSet
    ''' <summary>
    ''' 带参数返回DataSet
    ''' </summary>
    ''' <param name="cmdTxt">cmdTxt</param>
    ''' <param name="Parameters">参数</param>
    ''' <returns>DataSet</returns>
    ''' <remarks></remarks>
    Function QueryDataSet(ByVal cmdTxt As String, ByVal Parameters As Object()) As DataSet
#End Region

#Region "执行存储过程"
    ''' <summary>
    ''' 不带参数无返回值执行存储过程
    ''' </summary>
    ''' <param name="ProcName">存储过程</param>
    ''' <remarks></remarks>
    Sub ExcuteProc(ByVal ProcName As String)
    ''' <summary>
    ''' 带参数无返回值执行存储过程
    ''' </summary>
    ''' <param name="ProcName">存储过程</param>
    ''' <param name="Parameters">参数</param>
    ''' <remarks></remarks>
    Sub ExcuteProc(ByVal ProcName As String, ByVal Parameters As IDbDataParameter())
    ''' <summary>
    ''' 不带参数返回DataTable
    ''' </summary>
    ''' <param name="ProcName">存储过程</param>
    ''' <retruns>DataTable</retruns>
    ''' <remarks></remarks>
    Function QueryProc(ByVal ProcName As String) As DataTable
    ''' <summary>
    ''' 不带参数返回DataSet
    ''' </summary>
    ''' <param name="ProcName">存储过程</param>
    ''' <retruns>DataSet</retruns>
    ''' <remarks></remarks>
    Function QueryProcDataSet(ByVal ProcName As String) As DataSet
    ''' <summary>
    ''' 带参数返回DataTable
    ''' </summary>
    ''' <param name="ProcName">存储过程</param>
    ''' <param name="Parameters">参数</param>
    ''' <retruns>DataTable</retruns>
    ''' <remarks></remarks>
    Function QueryProc(ByVal ProcName As String, ByVal Parameters As IDbDataParameter()) As DataTable
    ''' <summary>
    ''' 带参数返回DataSet
    ''' </summary>
    ''' <param name="ProcName">存储过程</param>
    ''' <param name="Parameters">参数</param>
    ''' <retruns>DataSet</retruns>
    ''' <remarks></remarks>
    Function QueryProcDataSet(ByVal ProcName As String, ByVal Parameters As IDbDataParameter()) As DataSet
#End Region

#Region "简单程序执行过程"

    ''' <summary>
    ''' 启用事务批量执行不带参数cmdText:返回影响行数
    ''' </summary>
    ''' <param name="cmdTxt">执行数组</param>
    ''' <param name="cmdType">执行类型</param>
    ''' <returns>Integer</returns>
    ''' <remarks></remarks>
    Function ExecuteNonQuery(ByVal cmdTxt As String(), ByVal cmdType As CommandType) As Integer
    ''' <summary>
    ''' 执行返回第一行第一列的cmdTxt
    ''' </summary>
    ''' <param name="cmdTxt">执行cmdTxt语句</param>
    ''' <returns>object 可以转换</returns>
    ''' <remarks></remarks>
    Function ExecuteScalar(ByVal cmdTxt As String) As Object
    ''' <summary>
    ''' 执行返回第一行第一列的cmdTxt
    ''' </summary>
    ''' <param name="cmdTxt">执行cmdTxt语句</param>
    ''' <param name="Parameters">参数</param>
    ''' <returns>Object</returns>
    ''' <remarks></remarks>
    Function ExecuteScalar(ByVal cmdTxt As String, ByVal Parameters As IDbDataParameter()) As Object
#End Region
End Interface

转载于:https://www.cnblogs.com/ouyanghanwen/articles/1888767.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值