Subject | Re: [IBO] preparation of Cursor/Query a must? |
---|---|
Author | Jason Wharton |
Post date | 2001-12-03T19:26:29Z |
You need to call Prepare if you are numerically accessing the Fields[] or
Params[] arrays. But, if you call FieldByName or ParamByName IBO will
perform a prepare for you.
Also, something I decided to do differently than the BDE was the behavior of
maintaining prepared statements. With the BDE you were responsible to tell
it you wanted it to preserve the prepare of your statement. If you didn't
explicitly tell it to Prepare then it would unprepare and deallocate the
statement as soon as it was done executing. With IBO I assume you want the
statement to remain prepared and if you want it to be unprepared you have to
explicitly call the Unprepare method, which will also deallocate all client
and server side resources allocated for the statement.
So, it may be wise for you to take this into consideration and make sure
your applications are either destroying objects not in use or at the very
least calling Unprepare if their usefulness is over and it is an indefinite,
non performance sensitive, time that they will possible be used again.
Helen, this needs to be in the FAQ somewhere. Remind me to put this into the
BDE to IBO Conversion Guide as well. I'm not sure this made it in there.
Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com
Params[] arrays. But, if you call FieldByName or ParamByName IBO will
perform a prepare for you.
Also, something I decided to do differently than the BDE was the behavior of
maintaining prepared statements. With the BDE you were responsible to tell
it you wanted it to preserve the prepare of your statement. If you didn't
explicitly tell it to Prepare then it would unprepare and deallocate the
statement as soon as it was done executing. With IBO I assume you want the
statement to remain prepared and if you want it to be unprepared you have to
explicitly call the Unprepare method, which will also deallocate all client
and server side resources allocated for the statement.
So, it may be wise for you to take this into consideration and make sure
your applications are either destroying objects not in use or at the very
least calling Unprepare if their usefulness is over and it is an indefinite,
non performance sensitive, time that they will possible be used again.
Helen, this needs to be in the FAQ somewhere. Remind me to put this into the
BDE to IBO Conversion Guide as well. I'm not sure this made it in there.
Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com