面向对象的asp编程之五--adodb的类封装

原创 2004年08月04日 10:15:00

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

面向对象编程三大特性------封装、继承、多态

本文是对面向对象编程三大特性(封装、继承、多态)的一个学习总结。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只...
  • jianyuerensheng
  • jianyuerensheng
  • 2016年06月07日 11:41
  • 8048

PHP面向对象的程序设计封装--php高级最详细教程

PHP面向对象的程序设计 前言:           PHP5正式版本的发布,标志着一个全新的PHP时代的到来。PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下兼容性。程序员不必再...
  • wulove52
  • wulove52
  • 2016年08月30日 22:32
  • 2012

C语言面向对象编程(一):封装与继承

C++ 语言中自带面向对象支持,如封装、继承、多态等面向对象的基本特征。 C 原本是面向过程的语言,自身没有内建这些特性,但我们还是可以利用 C 语言本身已有的特性来实现面向对象的一些基本特征。接下来...
  • foruok
  • foruok
  • 2014年01月12日 22:16
  • 44075

Asp.net Ajax 客户端编程—面向对象

面向对象 Asp.net Ajax的客户端框架扩展了Javascript语言。扩展了Javascript的6个原生对象的方法,添加了许多.Net程序员熟悉的方法。如:string.format()。...
  • ghostbear
  • ghostbear
  • 2011年10月09日 16:36
  • 1240

asp面向对象文章基类

  • 2009年02月16日 09:16
  • 6KB
  • 下载

-面向对象的编程 与 类设计

  • 2011年05月24日 09:42
  • 1.35MB
  • 下载

Asp.net简单留言板源码(采用面向对象开发)

  • 2007年09月13日 06:06
  • 236KB
  • 下载

java学习之路 之 面向对象编程-面向对象特征之一(封装和隐藏)级类的成员之三(构造器、构造方法)

面向对象特征之一:封装和隐藏 使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。 Java中通过将数据声明为私有的(private),再提供公共的(pub...
  • OnlyLove_longshao
  • OnlyLove_longshao
  • 2016年07月26日 22:41
  • 837

面向对象的编程语言有封装、继承 、抽象、多态等4个主要的特征

计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中的业务其实就是一个个对象 协作的过程。面向对象编程就是按现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机系统能够识别和理解...
  • chenpengchenggong
  • chenpengchenggong
  • 2014年07月21日 21:17
  • 1227

【Java编程】面向对象--继承、封装

面向对象的三大特征:封装、继承、多态(如果要说四大特征的话就还有一个 抽象) 封装的作用和含义: 含义:隐藏对象内部的复杂性,只对外公开简单的接口,便与外界调用,从而提高系统的可扩展性和可维护性,...
  • THfengyuan
  • THfengyuan
  • 2017年07月27日 18:58
  • 198
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面向对象的asp编程之五--adodb的类封装
举报原因:
原因补充:

(最多只允许输入30个字)