When trying to set
TIBQuery1.Active := True;
I received the following error
eibclienterror 'xsqlda index out of range'
This occurred both when running the program and when setting the parameter in the Delphi IDE Object Inspector.
I was using a data module that inherits several components from another data module. In this case, the query object on the parent data module had TIBQuery.Params set to some value. On the child data module, TIBQuery.ParamCheck was set to False and the Params property was cleared via the IDE. The error was generated because, in this situation, the Params.Count property is not cleared (set to zero) even though the actual number of parameters is zero.
There are several possible solutions
* The Params property can be cleared on the parent data module via the IDE
* The Params property can be cleared via code
TIBQuery1.Params.Clear;
* Set TIBQuery.ParamCheck to true on the child data module before setting the SQL property
Partager