物件導向的asp編程之五–adodb的類封裝

來源:互聯網
上載者:User

<Script language="vbscript" runat="server">
'****************************************************************
' Script Compont Object Model
' Design for Active Server Pages
' Copyright 2004  Version 2.0
' Made by 尹曙光
' ****************************************************************
'
'                      ADODB的類封裝
'
'*****************************************************************
'#################################################################
Function CreateCAdoConnection()
      set CreateCAdoConnection=new CAdoConnection
End Function

Class CAdoConnection
  
   Public objAdoConnection
 
  '===============================================================
   Public Property Get ConnectionString
           ConnectionString=objAdoConnection.ConnectionString
   End Property

   Public Property Let ConnectionString(ByVal connString)
           objAdoConnection.ConnectionString=connString
   End Property
 
  '===============================================================
  Private Sub Class_Initialize   ' Setup Initialize event.

       On Error Resume Next
      
       set objAdoConnection=Server.CreateObject("ADODB.Connection")
       objAdoConnection.ConnectionTimeout = 15
       objAdoConnection.CommandTimeout = 30
       objAdoConnection.CursorLocation = 3
      
   End Sub
   Private Sub Class_Terminate   ' Setup Terminate event.
     
      CloseDbConn()
      Set objAdoConnection=nothing 
     
   End Sub

   'Open Adodb.Connection
   Public Sub OpenDbConn(dbLink)
         On Error Resume Next
         objAdoConnection.ConnectionString=dbLink
         OpenDbConn2()
   End Sub
  
    Public Sub OpenDbConn2()
         On Error Resume Next
         CloseDbConn()
         objAdoConnection.Open()
         if err.number>0 then
            Response.Write "開啟婁據庫失敗!"
            Response.End
         end if
   End Sub
  
   Public Sub CloseDbConn()
        if objAdoConnection.State=1 then
           objAdoConnection.Close
        end if   
   End Sub
  
   Public Function GetConnection()
        set GetConnection=objAdoConnection
   End Function

   Public Sub AdoError()
      Response.Write("錯誤描述 ( 適用於技術人員 ):<br>")
      if (objAdoConnection.errors.count>0) then '有錯誤產生
           for i=1 to objConn.errors.count
              Response.Write i&":"&objAdoConnection.errors(i-1).description&"<br>"
            next  'end of for
            set AdoError=true
      end if
      set AdoError=false
   End Sub
  
   Public Function HaveError()
         if (objAdoConnection.errors.count>0) then '有錯誤產生
            HaveError=true
          else
            HaveError=false
          end if   
   End Function
   '--------------------------------------------------------------
   Public Function Execute(sql)
         on Error resume next
         objAdoConnection.Execute(sql)
         if err.number>0 then
            Execute=false
          else
            Execute=true
          end if 
   End Function
  
   Public Function  ExecuteToRs(sql)
         on Error resume next
         set ExecuteToRs=objAdoConnection.Execute(sql)  
   End Function
End Class

'#################################################################
Function CreateCAdoRecordSet()
         set CreateCAdoRecordSet=new  CAdoRecordSet 
End Function
Class CAdoRecordSet
  
   Public objAdoRecordSet
   Private objAdoCommand
   Private objAdoConnection
  
   '==============================================================
   Public Property Get cmdCommandType
           cmdCommandType=objAdoCommand.CommandType
   End Property

   Public Property Let cmdCommandType(ByVal cmdType)
           objAdoCommand.CommandType=cmdType
   End Property
  '----------------------
   Public Property Get PageSize
           PageSize=objAdoRecordSet.PageSize
   End Property

   Public Property Let PageSize(ByVal iPageSize)
           objAdoRecordSet.PageSize=iPageSize
   End Property
  '--------------------
   Public Property Get AbsolutePage
           AbsolutePage=objAdoRecordSet.AbsolutePage
   End Property

   Public Property Let AbsolutePage(ByVal iAbsolutePage)
           objAdoRecordSet.AbsolutePage=iAbsolutePage
   End Property
  '-------------------
  Public Property Get RecordCount
           RecordCount=objAdoRecordSet.RecordCount
   End Property
  '-------------------
  Public Property Get pageCount
           pageCount=objAdoRecordSet.pageCount
   End Property
  '--------------------
   Public Property Get FieldCount
           FieldCount=objAdoRecordSet.Fields.Count
   End Property
   '===============================================================
    
   Private Sub Class_Initialize   ' Setup Initialize event.

          set  objAdoRecordSet=Server.CreateObject("ADODB.RecordSet")
          objAdoRecordSet.CacheSize = 10
          objAdoRecordSet.CursorType = 3
          objAdoRecordSet.CursorLocation = 3
          objAdoRecordSet.LockType = 3
 
          set  objAdoCommand=Server.CreateObject("ADODB.Command")  
          objAdoCommand.CommandType = 1
    
   End Sub
   Private Sub Class_Terminate   ' Setup Terminate event.
     
          CloseRecordSet()
          set objAdoRecordSet=nothing
          set objAdoCommand=nothing
          if objAdoConnection<>Empty then
             set objAdoConnection=nothing
          end if 
     
   End Sub
   
  '--------------------------------------------------------------- 
  Public Sub CloseRecordSet()
         if objAdoRecordSet.State=1 then
            objAdoRecordSet.Close
         end if
  End Sub
 
  Public Sub SetConnection(objConnection)
         set objAdoConnection=objConnection
         set objAdoCommand.ActiveConnection = objAdoConnection     
  End Sub
 
  Public Sub OpenRecordSet(byval sql)
           CloseRecordSet()
           objAdoCommand.CommandText=sql
           set objAdoRecordSet=objAdoCommand.Execute()
  End Sub
 
  Public Sub OpenRecordSet2(sql,conn,CursorType,LockType)
         CloseRecordSet()
         objAdoRecordSet.Open sql,conn,CursorType,LockType
  End Sub
 
  Public Sub cmdExecute(byval sql)
         objAdoCommand.CommandText=sql
         objAdoCommand.Execute()
  End Sub
 
  '---------------------------------------------------------------
  Public Function GetFieldValue(byval fieldName)
         GetFieldValue=objAdoRecordSet(fieldName).Value
  End Function
 
  Public Function GetFieldName(byval fieldOrder)
         GetFieldName=objAdoRecordSet(fieldOrder).name
  End Function
 
  Public Function SetFieldValue(fieldName,fieldValue)
         objAdoRecordSet(fieldName).Value=fieldValue
  End Function
 
  Public Function GetBinaryField(fieldName)
 
  End Function
 
  Public Function SetBinaryField(fieldName,fieldValue)
 
  End Function
 
  Public Function RsUpDate()
         objAdoRecordSet.Update
  End Function
 
  Public Function GetRecordSet()
       set GetRecordSet=objAdoRecordSet
  End Function
  '---------------------------------------------------------------
  Function IsEmpty()
        IsEmpty=(objAdoRecordSet.BOF and objAdoRecordSet.EOF)
  End Function
 
  Function IsEof()
       IsEof=objAdoRecordSet.EOF
  End Function
 
  Function IsBof()
       IsBof=objAdoRecordSet.BOF
  End Function
 
  '---------------------------------------------------------------
  Function MoveFirst()
       objAdoRecordSet.MoveFirst
  End Function
 
   Function MovePrevious()
       if (not objAdoRecordSet.BOF) then
           objAdoRecordSet.MovePrevious
       end if   
  End Function
 
  Function MoveNext()
      if (not objAdoRecordSet.BOF) then
          objAdoRecordSet.MoveNext
      end if    
  End Function
 
   Function MoveLast()
       objAdoRecordSet.MoveLast
  End Function
 
End Class
'#################################################################
Function CreateCAdoCommand()
         set CreateCAdoCommand=new  CAdoCommand 
End Function
Class CAdoCommand
 
   Public objAdoCommand
  
   '==============================================================
   Public Property Get cmdCommandType
           cmdCommandType=objAdoCommand.CommandType
   End Property

   Public Property Let cmdCommandType(ByVal cmdType)
           objAdoCommand.CommandType=cmdType
   End Property
 
  '===============================================================
    
   Private Sub Class_Initialize   ' Setup Initialize event.

          set  objAdoCommand=Server.CreateObject("ADODB.Command")
          objAdoCommand.CommandType = 1
    
   End Sub
   Private Sub Class_Terminate   ' Setup Terminate event.

          set objAdoCommand=nothing
     
   End Sub
  
   Public Sub cmdExecute()
 
   End Sub
    
End Class

</Script>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.