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