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