Article ID: 224424
Article Last Modified on 7/1/2004
APPLIES TO
- Microsoft Active Server Pages 4.0
- Microsoft ActiveX Data Objects 1.5
- Microsoft ActiveX Data Objects 2.0
- Microsoft ActiveX Data Objects 2.1 Service Pack 2
- Microsoft ActiveX Data Objects 2.5
- Microsoft ActiveX Data Objects 2.6
- Microsoft ActiveX Data Objects 2.7
- Microsoft Visual Basic 5.0 Learning Edition
- Microsoft Visual Basic 6.0 Learning Edition
- Microsoft Visual Basic 5.0 Professional Edition
- Microsoft Visual Basic 6.0 Professional Edition
- Microsoft Visual Basic 5.0 Enterprise Edition
- Microsoft Visual Basic 6.0 Enterprise Edition
- Microsoft Internet Information Server 4.0
- Microsoft Internet Information Services 5.0
- Microsoft Data Access Components 2.5
- Microsoft Data Access Components 2.6
- Microsoft Data Access Components 2.7
This article was previously published under Q224424
SUMMARY
This article describes, by example, how to implement a Visual Basic Component Object Model (COM) Object that returns a recordset to Active Server Pages (ASP).
Implementing this incorrectly can result in memory leaks or one of the following errors:
-or-
-or-
MORE INFORMATION
Use the following steps to implement a method that returns a recordset from a Visual Basic COM Object to Active Server Pages:
- Create a Visual Basic ActiveX DLL project called PassRsPrj.
- Add a class module and change its name to PassRsObj.
Implement the following method:
Note You must change the UID and the PWD values to the ones that are used on your system.
Public Function TestRs() as ADODB.Recordset Dim rsObj As ADODB.Recordset Dim cnObj As ADODB.Connection set rsObj = New ADODB.Recordset set cnObj = New ADODB.Connection 'Open connection to database cnObj.Open("DSN=pubs;uid=<username>;pwd=<strong password>") 'To use disconnected Recordset you must use client side cursors rsObj.CursorLocation = adUseClient rsObj.Open "select * from authors", cnObj, adOpenKeyset, _ adLockOptimistic, adCmdText 'Disconnected recordset Set rsObj.ActiveConnection = Nothing 'Set return value Set Testrs = rsObj 'Clean up resources cnObj.Close Set cnObj = Nothing End Function
Create an ASP page with the following code:
<% Dim rsTest, oTestPassRs Set oTestPassRs = Server.CreateObject("PassRsPrj.PassRsObj") Set rsTest = oTestPassRs.TestRs() Do Response.Write ( "Value in Record = " & rsTest(1) & "<BR>" ) rsTest.MoveNext Loop until rsTest.EOF rsTest.Close Set rsTest = Nothing Set oTestPassRs = Nothing %>
REFERENCES
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
244012 INFO: Type Mismatch Errors When You Pass Parameters from ASP to a Visual Basic Component
Additional query words: error 0115
Keywords: kberrmsg kbhowto kbcodesnippet kbdatabase KB224424