请问DataAccess有什么作用呢?
高手指教。 问题点数:10、回复次数:1Top
1 楼gdc2067()回复于 2006-07-03 18:15:23 得分 0
Option Explicit On
Option Strict On
Imports System
Imports System.Data
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
'DataAccess 类
'实现(插入、更新、删除、执行事务等)数据访问操作
Public Class clsDataAccess
'私有字段 - ADO.Net数据访问对象
Private m_objSqlCommand As System.Data.OleDb.OleDbCommand = Nothing
Private m_objSqlDataAdapter As System.Data.OleDb.OleDbDataAdapter = Nothing
Private m_objSqlTransaction As System.Data.OleDb.OleDbTransaction = Nothing
'私有字段 - 数据连接源
Private m_strConnectionSource As String = ""
'私有字段 - 查询超时
Private m_intSqlTimeOut As Integer = 0
'私有字段 - 出错信息
Private m_strErrMsg As String = ""
'私有方法 - 获取应用程序根路径
Private Function m_funGetAppRootPath() As String
Dim strAppRootPath As String = Application.StartupPath
If Right(strAppRootPath, 1) = "\" Then
Return strAppRootPath
Else
Return strAppRootPath & "\"
End If
End Function
'标准构造函数1 - 使用连接字符串
Public Sub New(ByVal strConnectionString As String, ByVal intTimeOut As Integer)
Me.DbConnection = New OleDb.OleDbConnection
Me.DbRecordset = New DataSet
Try
Me.m_intSqlTimeOut = intTimeOut
Me.m_strConnectionSource = strConnectionString.Trim()
Me.DbConnection.ConnectionString = Me.m_strConnectionSource
Me.DbConnection.Open()
Catch objErr As Exception
Me.m_strErrMsg = "初始化失败,参数提供的连接字符串无效!" & vbNewLine & _
"[描述信息]:" & objErr.Message & vbCrLf & _
"[错误来源]:" & objErr.Source & vbCrLf & _
"[堆栈信息]:" & objErr.StackTrace
Throw New Exception(Me.m_strErrMsg)
Finally
Me.DbConnection.Close()
End Try
End Sub
'标准构造函数2 - 使用 UDL 连接文件
Public Sub New(ByVal strUdlFileName As String, ByVal blnUseLocalPath As Boolean, ByVal intTimeOut As Integer)
Me.DbConnection = New OleDb.OleDbConnection
Me.DbRecordset = New DataSet
Me.m_strConnectionSource = "FILE NAME="
If blnUseLocalPath = True Then
Me.m_strConnectionSource &= Me.m_funGetAppRootPath() & strUdlFileName.Trim()
Else
Me.m_strConnectionSource &= strUdlFileName.Trim()
End If
Try
Me.m_intSqlTimeOut = intTimeOut
Me.DbConnection.ConnectionString = Me.m_strConnectionSource
Me.DbConnection.Open()
Catch objErr As Exception
Me.m_strErrMsg = "初始化失败,参数提供的Udl连接文件无效!" & vbNewLine & _
"[描述信息]:" & objErr.Message & vbCrLf & _
"[错误来源]:" & objErr.Source & vbCrLf & _
"[堆栈信息]:" & objErr.StackTrace
Throw New Exception(Me.m_strErrMsg)
Finally
Me.DbConnection.Close()
End Try
End Sub
'公有字段 - ADO.Net连接对象
Public DbConnection As System.Data.OleDb.OleDbConnection = Nothing
'公有字段 - ADO.Net数据集对象
Public DbRecordset As System.Data.DataSet = Nothing
'公有只读属性 - 数据连接源
Public ReadOnly Property ConnectionSource() As String
Get
Return Me.m_strConnectionSource.Trim()
End Get
End Property
'公有读写属性 - Sql超时
Public Property SqlTimeOut() As Integer
Get
Return Me.m_intSqlTimeOut
End Get
Set(ByVal intValue As Integer)
Me.m_intSqlTimeOut = intValue
End Set
End Property
'公有方法 - 获得条件参数指定的数据集
Public Sub GetDataRecordset(ByVal strDataSource As String, ByVal strDataTableName As String, _
Optional ByVal strSelectList As String = "*", Optional ByVal blnDistinct As Boolean = False, _
Optional ByVal strProtasis As String = "", Optional ByVal strGroupList As String = "", _
Optional ByVal strOrderList As String = "", Optional ByVal blnOrderASC As Boolean = True)
Dim strSqlSelect As String = "SELECT " & Convert.ToString(IIf(blnDistinct = True, "DISTINCT ", "")) & strSelectList.Trim() & _
" FROM " & strDataSource.Trim() & _
Convert.ToString(IIf(strProtasis = "", "", " WHERE " & strProtasis.Trim())) & _
Convert.ToString(IIf(strGroupList = "", "", " GROUP BY " & strGroupList.Trim())) & _
Convert.ToString(IIf(strOrderList = "", "", " ORDER BY " & strOrderList.Trim())) & _
Convert.ToString(IIf(blnOrderASC = True, " ASC", " DESC"))
Top




