I am experimenting a bit with COM+.. Is this basic example of mine
a "proper" implementation ? Feel free to critisize:
Usage:VB Code:
Implements ObjectControl Private objContext As ObjectContext Private Const strAppName = "ComTest" Option Explicit Private Sub ObjectControl_Activate() Set objContext = GetObjectContext() End Sub Private Function ObjectControl_CanBePooled() As Boolean ObjectControl_CanBePooled = False End Function Private Sub ObjectControl_Deactivate() Set objContext = Nothing End Sub 'Get absolutePath of System Public Function getAbsolutePath() As String Dim strPathTranslated, strApplicationPath As String Dim objRequest As Request Set objRequest = objContext("Request") strPathTranslated = objRequest.ServerVariables("PATH_TRANSLATED") strApplicationPath = Left(strPathTranslated, InStrRev (strPathTranslated, strAppName, -1, 1) + Len(strAppName)) getAbsolutePath = strApplicationPath Set objRequest = Nothing End Function 'Create as Database Connection Public Function ConnectToDB(ByVal ConnectionString As String) As ADODB.Connection Set ConnectToDB = CreateObject("ADODB.Connection") ConnectToDB.Open ConnectionString End Function 'Create a recordset Function CreateRS(ByVal source As String, ByRef objConn As Variant, ByVal cursortype As Integer, ByVal locktype As Integer, ByVal options As Integer) As ADODB.Recordset Set CreateRS = CreateObject("ADODB.Recordset") CreateRS.Open source, objConn, cursortype, locktype, options End Function Function strBaseString() As String Dim strBaseConn As String strBaseConn = "PROVIDER=MSDASQL;" & _ "DRIVER={Microsoft Access Driver (*.mdb)};" & _ "UID=admin;PWD=opensesame;" & _ "DBQ=" & getAbsolutePath() & "Data.mdb" strBaseString = strBaseConn End Function
VB Code:
<% Dim objTest, objConn, objRS Set objTest = Server.CreateObject("COM.Connection") Response.Write objTest.strBaseString() & "<br>" Response.Write objTest.getAbsolutePath() & "<br>" Set objConn = objTest.ConnectToDB(objTest.strBaseString()) Set objRS = objTest.CreateRS("SELECT * FROM Books;",objConn,0 ,1 ,1) Do While Not objRS.EOF Response.Write objRS("Title") & " " & objRS("ISBN") & "<BR>" objRS.MoveNext Loop objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing Set objTest = Nothing %>




Reply With Quote