Toon posts:

[ASP] connecties tegelijk afsluiten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is het mogelijk geopende connecties (recordsets) tegelijk af te sluiten door de namen van de connecties (b.v. rsKlanten en rsOrders) in een array op te slaan en deze array aan het eind van het script door te lopen en de connecties te sluiten.

Ik loop tegen het probleem aan dat het (volgens mij) niet mogelijk is om b.v. rsKlanten.Close te "construeren" uit arrConnections(x).Close

Is er een manier om dat wel voor elkaar te krijgen.

Doel van een en ander is om bij een redirect midden in een script een functie aan te roepen die dus eerst genoemde array doorloopt en vervlogens redirect naar een opgegeven URL.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17-09 08:12

Crazy D

I think we should take a look.

Uhmm ja en nee. Nee, niet op de manier zoals je nu doet.
Ja, in de zin van
Dim rs(2)
...
rs(1).Close
rs(2).Close

Exact expert nodig?


Verwijderd

Topicstarter
Vul je de array dan met:

rs(1) = rsKlanten

Dus het hele object ?

Kan ik dan ook het volgende uitvoeren:

Set rs(1) = Nothing


Als ik de volgende code uitvoer:

<!--#include file="functions.asp"-->
<%
Dim objConn, strSQL, rsKlanten

Connect()

Set rsKlanten = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM Klanten"
rsKlanten.Open strSQL, objConn

Dim rs(1)
rs(1) = "rsKlanten"
rs(1).Close

DisConnect()
%>

Geeft tie als foutmelding:

Object required: 'rsKlanten' /asp/test.asp, line 13


Bij gebruik van rs(1) = rsKlanten (dus geen string maar een object):

Object doesn't support this property or method: 'Close'
/asp/test.asp, line 13

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Meerdere recordsets kunnen gebruik maken van 1 connection, het is zelfs niet aan te raden om meerdere connections te gebruiken, uiteraard is het wel verstandig om de recordsets netjes te sluiten en op te ruimen, maar om dit nou op deze manier te doen is een beetje overkill.

Verwijderd

Topicstarter
Het gebruik van 1 connectie voor meer recordsets is me duidelijk.

Toch wil ik graag de recordset op bovenstaande manier opruimen. Is voor de toepassing erg handig.
Dat moet toch kunnen ?

Het klopt overigens toch wel dat je in ASP geen naam van een variabele kunt contrueren, dus iets als:

str & "SQL" = "SELECT * FROM Table1"

of

str & arrVariables(3) = "tekst"

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
kan wel, namelijk door gebruik te maken van eval() function

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17-09 08:12

Crazy D

I think we should take a look.

Op woensdag 31 oktober 2001 19:14 schreef limoh het volgende:
Vul je de array dan met:

rs(1) = rsKlanten

Dus het hele object ?

Kan ik dan ook het volgende uitvoeren:

Set rs(1) = Nothing
Ja zoiets inderdaad.
code:
1
2
3
4
5
Dim rs1, rs2
...
Dim rs(2)
Set rs(1) = rs1
Set rs(2) = rs2

Als het goed is kun je dan je recordsetjes opruimen met rs(1).Close.
Maar om eerlijk te zijn is het denk ik een stuk handiger om even in je asp pagina een subje te maken waar je de recordsets sluit en opruimt, en deze zowel voor een redirect als aan het eind van de pagina aanroept. Da's imho netter en duidelijker.

Exact expert nodig?

Pagina: 1