Subject | Re[2]: [IBO] Strange SQL results with large text field |
---|---|
Author | Ramil |
Post date | 2008-04-07T04:57:14Z |
Hello Robert,
I can not reproduce your situation.
I have added the field "Stock0015" to the IBO sample database MASTER
(IBO\Samples\TDataset\Filters):
ALTER TABLE MASTER
ADD Stock0015 VarChar(2048);
I have filled the table with large texts mixed up with nulls.
And I execute this:
procedure TForm1.Button2Click(Sender: TObject);
begin
while not qryMaster.eof do
begin
if (qryMaster.FieldByName('Stock0015').AsString <> '')
and qryMaster.FieldByName('Stock0015').IsNull then
ShowMessage('Here I am!');
qryMaster.Next
end;
end;
What version of IBO and Firebird you have used?
Can you send me database or a little demo-program with source that
reproduce this situation?
Best regards,
Ramil R. Khabibullin khabibr@...
I can not reproduce your situation.
I have added the field "Stock0015" to the IBO sample database MASTER
(IBO\Samples\TDataset\Filters):
ALTER TABLE MASTER
ADD Stock0015 VarChar(2048);
I have filled the table with large texts mixed up with nulls.
And I execute this:
procedure TForm1.Button2Click(Sender: TObject);
begin
while not qryMaster.eof do
begin
if (qryMaster.FieldByName('Stock0015').AsString <> '')
and qryMaster.FieldByName('Stock0015').IsNull then
ShowMessage('Here I am!');
qryMaster.Next
end;
end;
What version of IBO and Firebird you have used?
Can you send me database or a little demo-program with source that
reproduce this situation?
>--
>
>
>
>
> Hi Helen
>> Well, the place to start would be to look at the code where you pick up the text from the current IBODataset row to pass it to the ADOQuery parameter. Of special interest would be whether you are relying on some record number property that isn't valid for an IBO set...or where you might be treating null and empty string somewhere as though they were equivalent.
>>
>>
>
> There is no code ! The IBOQuery result fields have the same as the
> parameters in the TADOQuery. The TADOQuery is set to use the TIBOQuery
> as the .Datasource. Sorry I should have been clearer.
>
> After loading master and source (IBO AND ADO respectively) SQL
> statements from a script. I loop through something like
>
> IBOQuery.first;
> while (IBOQuery.Eof = False) do begin
> ADOQuery.ExecSQL;
>
> IBOQuery.Next;
> end;
>
> I thought the problem was with the ADO Query but I put a break point on
> before the .ExecSQL and used the 'Evaluate/Modify' tool in Delphi to
> view the data in the IBOQuery at that point.
> FieldByName('Stock0015').AsString <> '' but
> FieldByName('Stock0015').IsNull = True !
>
> Sorry about using Delphi syntax for those non Delphi people.
>
> Hope that makes the problem clearer.
>
> Rob Martin
> Software Engineer
>
> phone +64 03 377 0495
> fax +64 03 377 0496
> web www.chreos.com
>
> Wild Software Ltd
Best regards,
Ramil R. Khabibullin khabibr@...