Subject IBOQuery and Params
Author Mr. Java Guy <holton@ix.netcom.com>
I am using the following code:

Codesite.SendStringList('SQL',Query.SQL);
for i := 0 to Query.Params.Count - 1 do
Codesite.SendString(Query.Params[i].Name,Query.Params
[i].AsString);
Query.Open;

This code is called multiple times with a close inbetween.

I also have an IB Monitor attached, that outputs to Codesite.

My Problem is that the IBOQuery seems to be holding the Param Value
from the previous Open.

Example output from the Codesite Log:

SELECT D.BOLD_ID, D.BOLD_TYPE, D.name, C.READ_ONLY
FROM Employee D, BOLD_OBJECT C
WHERE C.BOLD_ID = D.BOLD_ID AND D.BOLD_ID = :ID1
---------------------------------------------------------------------
ID1 = '1'
---------------------------------------------------------------------
/*---
[ 12/14/2002 9:16:38 AM ]
PREPARE STATEMENT
TR_HANDLE = 24206780
STMT_HANDLE = 24206616

SELECT D.BOLD_ID, D.BOLD_TYPE, D.name, C.READ_ONLY
FROM Employee D, BOLD_OBJECT C
WHERE C.BOLD_ID = D.BOLD_ID AND D.BOLD_ID = ? /* ID1 */

PLAN JOIN (D INDEX (RDB$PRIMARY75),C INDEX (RDB$PRIMARY74))

FIELDS = [ Version 1 SQLd 4 SQLn 30
EMPLOYEE.BOLD_ID[BOLD_ID] = <NIL>
EMPLOYEE.BOLD_TYPE[BOLD_TYPE] = <NIL>
EMPLOYEE.NAME[NAME] = <NIL>
BOLD_OBJECT.READ_ONLY[READ_ONLY] = <NIL> ]
----*/
---------------------------------------------------------------------
/*---
[ 12/14/2002 9:16:38 AM ]
EXECUTE STATEMENT
TR_HANDLE = 24206780
STMT_HANDLE = 24206616
PARAMS = [ Version 1 SQLd 1 SQLn 1
[ID1] = 1 ]
----*/
---------------------------------------------------------------------
SELECT D.BOLD_ID, D.BOLD_TYPE, D.name, C.READ_ONLY
FROM Employee D, BOLD_OBJECT C
WHERE C.BOLD_ID = D.BOLD_ID AND D.BOLD_ID = :ID1

---------------------------------------------------------------------
ID1 = '2'

---------------------------------------------------------------------
/*---
[ 12/14/2002 9:16:38 AM ]
PREPARE STATEMENT
TR_HANDLE = 24206780
STMT_HANDLE = 24206616
SELECT D.BOLD_ID, D.BOLD_TYPE, D.name, C.READ_ONLY
FROM Employee D, BOLD_OBJECT C
WHERE C.BOLD_ID = D.BOLD_ID AND D.BOLD_ID = ? /* ID1 */
PLAN JOIN (D INDEX (RDB$PRIMARY75),C INDEX (RDB$PRIMARY74))
FIELDS = [ Version 1 SQLd 4 SQLn 30
EMPLOYEE.BOLD_ID[BOLD_ID] = <NIL>
EMPLOYEE.BOLD_TYPE[BOLD_TYPE] = <NIL>
EMPLOYEE.NAME[NAME] = <NIL>
BOLD_OBJECT.READ_ONLY[READ_ONLY] = <NIL> ]
----*/
---------------------------------------------------------------------
/*---
[ 12/14/2002 9:16:38 AM ]
EXECUTE STATEMENT
TR_HANDLE = 24206780
STMT_HANDLE = 24206616
PARAMS = [ Version 1 SQLd 1 SQLn 1
[ID1] = 1 ]
----*/
---------------------------------------------------------------------

Any ideas why?

TIA,
Eric