请问DataAccess有什么作用呢?

gsnhzb 2006-07-03 05:54:19
高手指教。
...全文
241 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdc2067 2006-07-03
  • 打赏
  • 举报
回复

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"))

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧