PDFdev is a service provided by PDFzone.com | http://www.pdfzone.com
_____________________________________________________________
It doesn't look like you CAN close a statement. You could close the
connection periodically (I don't recommend it), but statements don't have a
'close', nor can any of the other ADBC objects close a statement for you.
However, there's really no reason to have more than one at a time. Make the
statement a parameter to your recursive function. You'll also need to take
care not to invalidate your Statement object.
Your current code:
> function RecursiveFct(...) {
> ordreCLVar = connCLVar.newStatement();
> ordreCLVar.execute(ordsqlVar);
> while (...) {
> enr = ordreCLVar.getRow();
> ... call to the same recursive function RecursiveFct(...) ...
> }
When one iteration of your recursive function returned, a shared statement
would have been altered.
You'd have to do something more like:
// get all the rows
var enr = new Array(0); // empty array, we'll be adding to it as we go
var len = 0;
while(...) {
len = enr.push( ordreCLVar.getRow() ); // append the row object
}
// we're now done with the statement object, so we can pass it on
// act on the rows recursively
for(var i = 0; i < len; ++i) {
... call to the same recursive function ...
}
--Mark Storer
Software Engineer
Cardiff Software
#include <disclaimer>
typdef std::disclaimer<Cardiff> Discard;
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of Aalto Public
> Sent: Wednesday, January 21, 2004 3:00 AM
> To: PDF Zone
> Subject: [PDFdev] How to close a Javascript statement ?
>
>
>
> PDFdev is a service provided by PDFzone.com | http://www.pdfzone.com
> _____________________________________________________________
>
> Hi,
>
> I have a recursive Javscript function (Acrobat 6.0 pro, Windows XP)
> which creates a new SQL statement in each function call, with
> ADBC on an
> Access database :
>
> function RecursiveFct(...) {
> ordreCLVar = connCLVar.newStatement();
> ordreCLVar.execute(ordsqlVar);
> while (...) {
> enr = ordreCLVar.getRow();
> ... call to the same recursive function RecursiveFct(...) ...
> }
> }
>
> I don't close my SQL statement, because I don't know how to do that.
> I then trace my ODBC driver, and I notice that after about
> 220 execute
> statements, my Access ODBC driver says it can't open tables anymore.
>
> Is it possible to close a SQL statement, so I could free my database
> resources ?
>
> Thanks
>
> Mikael LAUSSEUR
> Aalto Consultant
>
>
> To change your subscription:
> http://www.pdfzone.com/discussions/lists-pdfdev.html
>
To change your subscription:
http://www.pdfzone.com/discussions/lists-pdfdev.html