|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <%
- Class Database_Class
- Private m_connection
- Private m_connection_string
-
- Private m_trace_enabled
- Public Sub set_trace(bool) : m_trace_enabled = bool : End Sub
- Public Property Get is_trace_enabled : is_trace_enabled = m_trace_enabled : End Property
-
- '---------------------------------------------------------------------------------------------------------------------
- Public Sub Initialize(connection_string)
- m_connection_string = connection_string
- End Sub
-
- '---------------------------------------------------------------------------------------------------------------------
- Public Function Query(sql, params)
- dim cmd : set cmd = server.createobject("adodb.command")
- set cmd.ActiveConnection = Connection
- cmd.CommandText = sql
-
- dim rs
-
- If IsArray(params) then
- set rs = cmd.Execute(, params)
- ElseIf Not IsEmpty(params) then ' one parameter
- set rs = cmd.Execute(, Array(params))
- Else
- set rs = cmd.Execute()
- End If
-
- set Query = rs
- End Function
-
- '---------------------------------------------------------------------------------------------------------------------
- Public Function PagedQuery(sql, params, per_page, page_num)
- dim cmd : set cmd = server.createobject("adodb.command")
- set cmd.ActiveConnection = Connection
- cmd.CommandText = sql
-
- cmd.CommandType = 1 'adCmdText
- cmd.ActiveConnection.CursorLocation = 3 'adUseClient
-
- dim rs
-
- If IsArray(params) then
- set rs = cmd.Execute(, params)
- ElseIf Not IsEmpty(params) then ' one parameter
- set rs = cmd.Execute(, Array(params))
- Else
- set rs = cmd.Execute()
- End If
-
- If Not rs.EOF then
- rs.PageSize = 1
- rs.CacheSize = 1
- rs.AbsolutePage = 1
- End If
-
- set PagedQuery = rs
- End Function
-
- '---------------------------------------------------------------------------------------------------------------------
- Public Sub [Execute](sql, params)
- me.query sql, params
- End Sub
-
- '---------------------------------------------------------------------------------------------------------------------
- Public Sub BeginTransaction
- Connection.BeginTrans
- End Sub
-
- Public Sub RollbackTransaction
- Connection.RollbackTrans
- End Sub
-
- Public Sub CommitTransaction
- Connection.CommitTrans
- End Sub
-
- '---------------------------------------------------------------------------------------------------------------------
- ' Private Methods
- '---------------------------------------------------------------------------------------------------------------------
- Private Sub Class_terminate
- Destroy m_connection
- End Sub
-
- Private Function Connection
- if not isobject(m_connection) then
- set m_connection = Server.CreateObject("adodb.connection")
- m_connection.open m_connection_string
- end if
- set Connection = m_connection
- End Function
- end Class
- %>
|