一个离线ADO数据管理模块的实现

来源:互联网 发布:windowsxp仿mac桌面 编辑:程序博客网 时间:2024/06/05 10:17
一个离线ADO数据管理模块的实现     选择自 jaopen 的 Blog 关键字  一个离线ADO数据管理模块的实现出处 

  Option Explicit
  Public pubcn As New ADODB.Connection
  Dim temp_i As Integer
  ''连接数据库
  Public Sub GetConnect()
     
      On Error GoTo errorhandler:
      Dim constr As String
      If Not (pubcn.State = 0) Then
          pubcn.Close
      End If
         
      pubcn.CursorLocation = adUseClient
      pubcn.ConnectionTimeout = 5
      pubcn.Open "Provider=sqloledb;" & _
             "Network Library=DBMSSOCN;" & _'指明采用IP+端口方式查找Sql Server
             "Data Source=172.17.21.125,1433;" & _
             "Initial Catalog=hpdata;" & _
             "User ID=user;" & _
             "Password=password;" & _
             "Encrypt=yes"
            
      pubcn.DefaultDatabase = "hpdata" ''!!!!!!!!!!!!!!!!
      Exit Sub
  errorhandler:
      Dim msg As Integer
      msg = MsgBox("连接时发生错误:" & Err.Number & Err.Description & Err.Source & "请将此信息发至邮箱", vbOKOnly)
  
  End Sub
  
  ''简单查询得到数据集////////////////////////////////////////////////////////
  Public Function GetRS(sqlstr As String) As ADODB.Recordset
     
      On Error GoTo errorhandler
      Call GetConnect
     
      Set GetRS = New ADODB.Recordset
     
      GetRS.Open sqlstr, pubcn, adOpenStatic, adLockOptimistic
     
      Set GetRS.ActiveConnection = Nothing
     
      pubcn.Close
      Exit Function
  errorhandler:
      Dim i As Integer
      i = MsgBox(sqlstr & ":::::::" & Err.Description & Err.HelpContext, vbOKCancel)
  
  End Function
  '同步数据集
  Public Sub UpdateRS(Rs As ADODB.Recordset, Optional RequerryFlag As Integer)
      Call GetConnect
     
      With Rs
          .ActiveConnection = pubcn
          .Update
          'If (Not IsMissing(RequerryFlag)) And RequerryFlag = 1 Then ''改于2004年2月6日为修除历史记录本客户号查询的修改无法数据同步而设
             ' .Requery
          'End If
          .ActiveConnection = Nothing
      End With
         
      pubcn.Close
  
  End Sub
  '执行带有参数对象的查询得到数据集
  Public Sub GetRSFromCmd(Cmd As ADODB.Command, str As String, Rs As ADODB.Recordset)
     
      On Error GoTo errorhandler
      Call GetConnect
      If Not (Cmd.State = adStateClosed) Then
          Cmd.Cancel
          Cmd.ActiveConnection = Nothing
      End If
      With Cmd
          .ActiveConnection = pubcn
          .CommandTimeout = 5
          .CommandType = adCmdText
          .CommandText = str
      End With
      If Not (Rs.State = 0) Then
          Rs.Close
      End If
      Rs.Open Cmd, , adOpenStatic, adLockOptimistic
    
      Rs.ActiveConnection = Nothing
     
      With Cmd
          .ActiveConnection = Nothing
      End With
      pubcn.Close
      Exit Sub
  errorhandler:
      temp_i = MsgBox(str & Err.Number & Err.Description & Err.Source, vbOKOnly)
     
  End Sub

       '执行无返回结果的sql语句      

  Public Sub CnExecute(ByVal Qstr As String, ByRef RecordNumber As Long, Optional QRs As ADODB.Recordset)
      'On Error GoTo errorhandler
     
      Call GetConnect
      pubcn.Execute Qstr, RecordNumber, adExecuteNoRecords
     
      If IsMissing(QRs) Then
      QRs.ActiveConnection = pubcn
      QRs.Requery
      QRs.ActiveConnection = Nothing
      End If
      pubcn.Close
  errorhandler:
     temp_i = MsgBox(Qstr & Err.Number & Err.Description, vbOKOnly)
  
  End Sub


作者Blog:http://blog.csdn.net/jaopen/
相关文章
Tomcat5.5.9 DBCP配置错误解决 一个离线ADO数据管理模块的实现 面向对象的基础结构设计

技术的渠道

 

http://dev.csdn.net/article/70/70220.shtm

原创粉丝点击