Subject | Problem with TIB_Query.RecordCount |
---|---|
Author | Thomas Steinmaurer |
Post date | 2002-10-23T21:10:58Z |
Hello,
I have encountered a problem using TIB_Query.RecordCount
with a combination of Parametrized TIB_Query, OrderingItemNo <> 0
and using HDR. I'm using IBO 4.2.Hj
The select statement of the query looks like:
SELECT *
FROM IBLM$COLUMNLOG
where logtable_id=:logtable_id
OrderingItems:
ID=ID;ID DESC
LOGTABLE_ID=LOGTABLE_ID;LOGTABLE_ID DESC
SPALTE=SPALTE;SPALTE DESC
ALTERWERT=ALTERWERT;ALTERWERT DESC
NEUERWERT=NEUERWERT;NEUERWERT DESC
OrderingLinks:
ID=ITEM=1;POS=0
LOGTABLE_ID=ITEM=2;POS=0
SPALTE=ITEM=3;POS=0
ALTERWERT=ITEM=4;POS=0
NEUERWERT=ITEM=5;POS=0
For test purposes I've placed a button on a form with the
following OnClick event handler.
procedure TForm1.Button1Click(Sender: TObject);
begin
IB_Query1.Close;
IB_Query1.ParamByName('logtable_id').Value := 1000;
IB_Query1.Open;
IB_Query1.OrderingItemNo := 1;
ShowMessage(IntToStr(IB_Query1.RecordCount)); <---- error with RecordCount
end;
The following exception is thrown:
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -804
SQLDA missing or incorrect version, or incorrect number/type of variables
The error is only raised when OrderingItemNo is not equal 0
and when HDR is enabled.
The callstack might be useful too:
TIB_SessionBase.HandleException($CB5AA8)
TIB_Statement.API_ExecImmed2(???,???,$CC0BBC)
TIB_Statement.SysExecImmed2('SELECT COUNT( * )'#$D#$A'FROM IBLM$COLUMNLOG'#$D#$A'where logtable_id=? /* logtable_id
*/',$CC1120,$CC0BBC)
TIB_Dataset.SysGetCursorRecordCount
TIB_BDataset.SysGetCursorRecordCount
TIB_Dataset.SysRecordCount
TIB_BDataset.SysRecordCount
TIB_Dataset.RecordCount
TForm1.Button1Click(???)
Project1
Any comments/hints? Thank you!
Regards,
Thomas Steinmaurer
IB LogManager 2.1 - The Logging/Auditing Tool for InterBase and Firebird
http://www.iblogmanager.com
I have encountered a problem using TIB_Query.RecordCount
with a combination of Parametrized TIB_Query, OrderingItemNo <> 0
and using HDR. I'm using IBO 4.2.Hj
The select statement of the query looks like:
SELECT *
FROM IBLM$COLUMNLOG
where logtable_id=:logtable_id
OrderingItems:
ID=ID;ID DESC
LOGTABLE_ID=LOGTABLE_ID;LOGTABLE_ID DESC
SPALTE=SPALTE;SPALTE DESC
ALTERWERT=ALTERWERT;ALTERWERT DESC
NEUERWERT=NEUERWERT;NEUERWERT DESC
OrderingLinks:
ID=ITEM=1;POS=0
LOGTABLE_ID=ITEM=2;POS=0
SPALTE=ITEM=3;POS=0
ALTERWERT=ITEM=4;POS=0
NEUERWERT=ITEM=5;POS=0
For test purposes I've placed a button on a form with the
following OnClick event handler.
procedure TForm1.Button1Click(Sender: TObject);
begin
IB_Query1.Close;
IB_Query1.ParamByName('logtable_id').Value := 1000;
IB_Query1.Open;
IB_Query1.OrderingItemNo := 1;
ShowMessage(IntToStr(IB_Query1.RecordCount)); <---- error with RecordCount
end;
The following exception is thrown:
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -804
SQLDA missing or incorrect version, or incorrect number/type of variables
The error is only raised when OrderingItemNo is not equal 0
and when HDR is enabled.
The callstack might be useful too:
TIB_SessionBase.HandleException($CB5AA8)
TIB_Statement.API_ExecImmed2(???,???,$CC0BBC)
TIB_Statement.SysExecImmed2('SELECT COUNT( * )'#$D#$A'FROM IBLM$COLUMNLOG'#$D#$A'where logtable_id=? /* logtable_id
*/',$CC1120,$CC0BBC)
TIB_Dataset.SysGetCursorRecordCount
TIB_BDataset.SysGetCursorRecordCount
TIB_Dataset.SysRecordCount
TIB_BDataset.SysRecordCount
TIB_Dataset.RecordCount
TForm1.Button1Click(???)
Project1
Any comments/hints? Thank you!
Regards,
Thomas Steinmaurer
IB LogManager 2.1 - The Logging/Auditing Tool for InterBase and Firebird
http://www.iblogmanager.com