当前位置:RL首页 >> 电脑学院 >> 网页制作 >> 正文
面向对象的asp编程之五--adodb的类封装
来源:csdn 时间:2004-8-23 14:40:51

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

】【发表评论】【关闭窗口
 ■相关文章
今日热点
今日社区精选