07. marts 2001 - 11:29Der er
4 kommentarer og 1 løsning
returnering af recordsæt
Jeg vil gerne lave en funktion der skaber en forbindelse til en database, kører en sql-sætning og så til sidst returnerer et recordsæt. Altså f.eks.:
<% function getPerson ... sql = \"select * from person\" set rs = conn.execute(sql) getPerson = rs end function
recordset = getPerson %>
Men desværre vil ovenstående ikke lykkes. Der kommer følgende fejl:
Wrong number of arguments or invalid property assignment: \'recordset\'
Hvis det kan lade sig gøre, hvordan ordner man så det med close connection i funktionen ? Eftersom at forbindelsen skal lukkes ned efter brug. Eftersom jeg skal bruge recordsættet udenfor funktionen der åbnede forbindelsen, kan jeg ikke bare sådan lukke den ned idet forbindelsen kun \"eksisterer\" i funktionen.
Jeg håber nogen kan hjælpe mig med problemet. Venlig hilsen Thomas Lytzen Petersen
hvorfor oppretter du ikke ditt recordsett som en global variabel (dvs utenfor din function) dermed kan du eksekvere din sql og aksessere det uten at du trenger å returnere det....
Fordi jeg vil lave en asp-fil der kun indeholder funktioner. På den måde kan jeg lagdele mine asp-sider...jeg prøver at overholde min komponentarkitektur.
dim sql, rs, value ... sql = \"select * from person\" set rs=server.CreateObject(\"ADODB.Recordset\") rs.open sql,conn if not rs.eof then value=rs.getrows() rs.close
getPerson=value end function
recordset = getPerson() %>
Hvis du overfører sql-sætningen som en parameter, kan du endda bruge den samme funktion til at returnere alle dine recordsets.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.