PDA

Ver la Versión Completa : Error raro en consulta sencilla


papulo
16-09-2005, 10:03:58
procedure TFiller.Iniciar_statement;

case iStatus of
1 :
begin
sSqlstatement := ('SELECT distinct ref_type '+
'FROM technical_inf '+
'WHERE id_part_type=0');
Incluir_fabricante;
DataModule2.IBSQL1.SQL.Add(sSqlstatement);
DataModule2.IBSQL1.ExecQuery;
i := 1;
...


Al ejecutarse la linea del "ExecQuery" me da el siguiente error:

SQL error code = -104
Token unknow - line 2, char 1
SELECT.



Generalmente suelen ser fallos mios a la hora de escribir la consulta, algun espacio que no pongo y cosas asi, pero es que en esta, no veo lo que falla.

¿Algun sagaz forero me ayuda?

ACTUALIZANDO:

Mi cerebro me dice que el error lo cometo al iniciar las consultas.


Terminar_transaccion;
Iniciar_transaccion;
Iniciar_Statement;


las cuales son:


procedure TFiller.Terminar_transaccion;
begin
if DataModule2.IBDataSet1.Transaction.Active then
begin
DataModule2.IBDataSet1.Transaction.Commit;
end;
end;


procedure TFiller.Iniciar_transaccion;
begin
DataModule2.IBDataSet1.Transaction.StartTransaction;
DataModule2.IBDataSet1.SelectSQL.Clear;
end;


Y estoy usando un StringGrid que rellenare con el resultado de la consulta que me da error, pero creo que a lo mejor, al estar la transaccion activa del DataModule, hace que no pueda ejecutar la consulta correctamente.

¿me explico?

papulo
16-09-2005, 10:41:42
Efectivamente era eso, tenia una transaccion activa por culpa del IBDataSet que impedia que pudiera hacer la consulta correctamente.

Lo he solucionado con 2 procesos, uno para cada tipo de consulta.