Subject Re: Locate() problems ?
Author Jason Wharton
This will be fixed in the next release.

Thanks,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com


----- Original Message -----
From: "Carlos Augusto" <carloca68@...>
To: <jwharton@...>
Sent: Tuesday, November 07, 2000 8:45 PM
Subject: Locate() problems ?


Jason, after I updated IBObjects 3.5 for the version
3.6Bc, I started to have problems with the function TIB_Query.Locate (),
in the first execution she usually works, but later I receive an error
message of the IB Server, I didn't have time for debug in full detail
the problem but it seems something around:

TIB_BDataset.LocateRecord ();
TIB_BDataset.SelLocateRecord ();
TIB_BDataset.PrepareLocate... ???

They follow the part of the code and the result of TraceSQL.

procedure TFExpClientes.MostraRecibos;
var
Car: integer;
begin
with FDMCliente do
begin
Soma := 0.0;
if AtualizarRecibos then
case StatusCliente of
tcInquilino:
-> with OQRecibos do
begin
Close;
Prepare;
ParamByName('CONTRATO_ID').AsInteger := ContratoID;
Open;
AtualizarRecibos := false;
end;
tcProprietario, tcBeneficiario:
with OQReciboProp do
begin
Close;
Prepare;
ParamByName('CONTRATO_ID').AsInteger := ContratoID;
ParamByName('CLIENTE_ID').AsInteger := ClienteID;
Open;
RXMLiberar.Open;
RXMLiberar.EmptyTable;
First;
if (StatusCliente = tcProprietario) then
begin
while not OQReciboProp.Eof do
begin
RXMLiberar.Insert;

~ ~ ~ ~ ~ ~ ~ ~ ~

RXMLiberar.Post;
Next;
end;
LiberaRepasse;
AtualizarRecibos := false;
end;
end;
end;
CBTipoRecibo.ItemIndex := 0;
if FirstInRecibo and (PagePrincipal.ActivePage = TabRecibos) then
begin
-> OQRecibos.Locate('MES_SERIE',
VarArrayOf([Contrato.MES_SERIE_ABERTO]), []);
if OQRecibos.FieldByName('RECIBO_INQUILINO_ID').AsInteger > 0 then
MostraRecibo(Date);
FirstInRecibo := false;
end;
end;
End;



*******************************************************
Log iniciado em: 07/11/2000 21:48:01
<
[ 07/11/2000 21:48:02 ]
COMMIT
TR_HANDLE = 20727324
>
<
[ 07/11/2000 21:48:07 ]
CLOSE CURSOR
STMT_HANDLE = 20584000
>
<
[ 07/11/2000 21:48:07 ]
EXECUTE STATEMENT
TR_HANDLE = 20696500
STMT_HANDLE = 20584000
PARAMS = [ Version 1 SQLd 1 SQLn 1
"".[CONTRATO_ID] = 8330 ]
>
<
[ 07/11/2000 21:48:07 ]
OPEN CURSOR
STMT_HANDLE = 20584000
NAME = C19886196650284786

>
<
[ 07/11/2000 21:48:07 ]
FETCH
STMT_HANDLE = 20584000
FIELDS = [ Version 1 SQLd 7 SQLn 7
USUARIO.RECIBO_INQUILINO.RECIBO_INQUILINO_ID = 5763
USUARIO.RECIBO_INQUILINO.NUMERO = 3804
USUARIO.RECIBO_INQUILINO.DATA_VENCIMENTO = '01 fev 2001'
USUARIO.RECIBO_INQUILINO.VALOR = 452,2
USUARIO.RECIBO_INQUILINO.DATA_PAGAMENTO = <NULL>
USUARIO.RECIBO_INQUILINO.VALOR_PAGO = <NULL>
USUARIO.RECIBO_INQUILINO.MES_SERIE = 11 ]
>
<
[ 07/11/2000 21:48:07 ]
FETCH
STMT_HANDLE = 20584000
FIELDS = [ Version 1 SQLd 7 SQLn 7
USUARIO.RECIBO_INQUILINO.RECIBO_INQUILINO_ID = 5762
USUARIO.RECIBO_INQUILINO.NUMERO = 3803
USUARIO.RECIBO_INQUILINO.DATA_VENCIMENTO = '01 jan 2001'
USUARIO.RECIBO_INQUILINO.VALOR = 561,61
USUARIO.RECIBO_INQUILINO.DATA_PAGAMENTO = <NULL>
USUARIO.RECIBO_INQUILINO.VALOR_PAGO = <NULL>
USUARIO.RECIBO_INQUILINO.MES_SERIE = 10 ]
>
<
[ 07/11/2000 21:48:07 ]
FETCH
STMT_HANDLE = 20584000
FIELDS = [ Version 1 SQLd 7 SQLn 7
USUARIO.RECIBO_INQUILINO.RECIBO_INQUILINO_ID = 5761
USUARIO.RECIBO_INQUILINO.NUMERO = 3802
USUARIO.RECIBO_INQUILINO.DATA_VENCIMENTO = '01 dez 2000'
USUARIO.RECIBO_INQUILINO.VALOR = 561,61
USUARIO.RECIBO_INQUILINO.DATA_PAGAMENTO = <NULL>
USUARIO.RECIBO_INQUILINO.VALOR_PAGO = <NULL>
USUARIO.RECIBO_INQUILINO.MES_SERIE = 9 ]
>
<
[ 07/11/2000 21:48:07 ]
FETCH
STMT_HANDLE = 20584000
FIELDS = [ Version 1 SQLd 7 SQLn 7
USUARIO.RECIBO_INQUILINO.RECIBO_INQUILINO_ID = 5760
USUARIO.RECIBO_INQUILINO.NUMERO = 3801
USUARIO.RECIBO_INQUILINO.DATA_VENCIMENTO = '01 nov 2000'
USUARIO.RECIBO_INQUILINO.VALOR = 561,61
USUARIO.RECIBO_INQUILINO.DATA_PAGAMENTO = <NULL>
USUARIO.RECIBO_INQUILINO.VALOR_PAGO = <NULL>
USUARIO.RECIBO_INQUILINO.MES_SERIE = 8 ]
>
<
[ 07/11/2000 21:48:07 ]
FETCH
STMT_HANDLE = 20584000
FIELDS = [ Version 1 SQLd 7 SQLn 7
USUARIO.RECIBO_INQUILINO.RECIBO_INQUILINO_ID = 5747
USUARIO.RECIBO_INQUILINO.NUMERO = 3788
USUARIO.RECIBO_INQUILINO.DATA_VENCIMENTO = '01 out 2000'
USUARIO.RECIBO_INQUILINO.VALOR = 561,61
USUARIO.RECIBO_INQUILINO.DATA_PAGAMENTO = <NULL>
USUARIO.RECIBO_INQUILINO.VALOR_PAGO = <NULL>
USUARIO.RECIBO_INQUILINO.MES_SERIE = 7 ]
>
<
[ 07/11/2000 21:48:07 ]
PREPARE STATEMENT
TR_HANDLE = 20696500
STMT_HANDLE = 20694704

SELECT RECIBO_INQUILINO.RECIBO_INQUILINO_ID
FROM RECIBO_INQUILINO
WHERE CONTRATO_ID=? /* CONTRATO_ID */ AND
CANCELADO ='N'
AND MES_SERIE\N\K = ? /* LOC_6_RECIBO_INQUILINO_MES_SERIE */
ORDER BY NUMERO DESC

FIELDS = [ Version 1 SQLd 1 SQLn 1
USUARIO.NOME_INDICADOR.NOME = <NIL> ]

ERRCODE = 335544569
>
<
[ 07/11/2000 21:48:07 ]
PREPARE STATEMENT
TR_HANDLE = 20696500
STMT_HANDLE = 20694704

SELECT RECIBO_INQUILINO.RECIBO_INQUILINO_ID
FROM RECIBO_INQUILINO
WHERE CONTRATO_ID=? /* PRM_0 */ AND
CANCELADO ='N'
AND MES_SERIE\N\K = ? /* PRM_1 */
ORDER BY NUMERO DESC

FIELDS = [ Version 1 SQLd 1 SQLn 1
USUARIO.NOME_INDICADOR.NOME = <NIL> ]

ERRCODE = 335544569
>
<
[ 07/11/2000 21:48:07 ]
INTERPRETE BUFFER =

ERRCODE = 17
>
<
[ 07/11/2000 21:48:07 ]
INTERPRETE BUFFER = Dynamic SQL Error

ERRCODE = 21
>
<
[ 07/11/2000 21:48:07 ]
INTERPRETE BUFFER = SQL error code = -104

ERRCODE = 31
>
<
[ 07/11/2000 21:48:07 ]
INTERPRETE BUFFER = Token unknown - line 5, char 14

ERRCODE = 1
>
<
[ 07/11/2000 21:48:07 ]
INTERPRETE BUFFER = \

ERRCODE = -1
>
Log finalizado em: 07/11/2000 21:48:21
*******************************************************


São Carlos, November 8, 2000

Respectfully,

Carlos Augusto de Oliveira - carloca68@...
<carloca60@...>

MicroHouse Informática - www.mhouse.com.br <mhouse.com.br>