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

发表于:2007-06-30来源:作者:点击数: 标签:
Script language= vb script runat=server @#**************************************************************** @# Script Compont Object Model @# Design for Active Server Pages @# Copyright 2004 Version 2.0 @# Made by 尹曙光 @# *****************
<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>


原文转自:http://www.ltesting.net