Om du gör en test-applikation i VB (nytt projekt som standard-EXE) där du testar din komponent, fungerar den då?
Det är mycket enklare att felsöka komponenter från ett test-program då du kan stega dig igenom komponenten med F8.
En annan sak är att du i detta fallet inte stänger din Connection mot databasen. Den öppnas ju bara och då kommer den att ligga kvar mot databasen och det är mycket tidsödande och medverkar ofta till IIS kraschar.
Vidare så är det inte alltid så smidigt att hårdkoda in databassträngen utan kanske bättre att ta den som inparameter på antingen metoden eller som egenskap i klassen.
Att använda ett vanligt Recordset är inte heller så bra utan i detta fallet hade det nog varit bättre om du hade returnerat ett "bortkopplat" (disconnected) Recordset.
Du skulle då kunna skriva:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
public function rsReturnFromSQL(byVal strSQL as string, vntDBcn as variant) as adodb.recordset
dim rsObj as adodb.recordset
set rsObj = new Adodb.recordset
rsObj.open strSQl, vntDbCn
set rsObj.activeConnection = Nothing
set rsReturnFromSQL = rsObj
end function
Det gör att när du erhåller objektet i ASP är redan databas-kopplingen avstängd och du får bara ett recordset med data utan databaskoppling.
Men glöm för det inte att stänga och radera objekts-instansen i din ASP-sida.
Hoppas det funkar bättre!
------------------
Fredrik Klarqvist
f.klarqvist@spray.se
http://server.webwerkstaden.se/fredde/