DbHandle.bas
上传用户:cntx88
上传日期:2022-08-07
资源大小:169k
文件大小:2k
源码类别:

企业管理

开发平台:

Visual Basic

  1. Attribute VB_Name = "DbHandle"
  2. Option Explicit
  3. Public DbFinance As New ADODB.Connection  '设置ADODB连接对象的公共变量
  4. Public Function DbConnection()  '打开数据库
  5.     Dim e As ADODB.Error
  6.     
  7.     DbConnection = True 'ConnectDB为真时表示打开数据库无误
  8.     
  9.     On Error GoTo errorhandle '出现任何错误将执行errorhandle进行错误处理
  10.     DbFinance.Errors.Clear
  11.     DbFinance.CommandTimeout = 30  '执行SQL命令的缺省等待时间
  12.     DbFinance.ConnectionTimeout = 30 '连接数据库的缺省时间
  13.     DbFinance.ConnectionString = "DSN=Finance" '打开DSN名为Finance的odbc数据源
  14.     
  15.     On Error GoTo Unconnect '出现数据库连接错误时将进行处理
  16.     DbFinance.Open  '打开数据库
  17.     Exit Function
  18.     
  19. errorhandle:
  20.     If DbFinance.Errors.Count < 1 Then
  21.         MsgBox Err.Description, vbOKOnly + vbExclamation '显示错误描述
  22.     Else
  23.         For Each e In DbFinance.Errors
  24.             MsgBox e.Description    '显示错误描述
  25.         Next e
  26.     End If
  27.     DbConnection = False 'DbConnection为假(False)时表示打开数据库有误
  28.     Set DbFinance = Nothing '关闭错误的数据库
  29.     Exit Function
  30. Unconnect:
  31.     MsgBox "数据库网络连接失败,程序将终止!", vbCritical + vbOKOnly '显示错误描述
  32.     Set DbFinance = Nothing '关闭错误的数据库
  33.     DbConnection = False
  34.     Exit Function
  35. End Function
  36. Public Sub DbClose()  '关闭数据库
  37. On Error Resume Next
  38.     DbFinance.Close
  39.     Set DbFinance = Nothing
  40. End Sub
  41. Public Function resultcount(rs As ADODB.Recordset) As Long      '返回结果集中的记录数
  42.     On Error Resume Next
  43.     resultcount = 0
  44.     Do While rs.EOF = False
  45.         resultcount = resultcount + 1
  46.         rs.MoveNext
  47.     Loop
  48.     rs.MoveFirst
  49. End Function