Has de saber que el
RecordCount no siempre devuelve el número de registros. Lo que devuelva está sugeto a algunas condiciones.
No estoy muy puesto en BDE, pero puedes realizar esta prueba:
Código Delphi
[-]
query.Last; <= Colocarlo antes de preguntar
i := query.recordCount;
La otra forma es utilizar el COUNT en la sentencia para saber el número de registros.
Código SQL
[-]
SELECT COUNT (*) FROM Tabla
SELECT COUNT (campoPK) FROM Tabla
SELECT COUNT (campoPK) FROM Tabla WHERE ...