La Web del Programador: Comunidad de Programadores
 
    Pregunta:  5899 - EJECUTAR SQL DE INFORMIX DESDE DELPHI
Autor:  Andres David Rubio
Existe una aplicacion en informix online 5.xx y se realizo un sql que hace un proceso de varios calculos y al final genera una tabla.
Quiero crear un programa desde delfhi que con un boton se ejecute ese archivo sql en el servidor, mas no dentro de mi aplicacion no quiero escribir exactamente el mismo codigo del archivo dentro de un sql de delphi, ya estableci mi coneccion con el servidor ya veo todas las tablas del sistema en informix, pero no se como ejecutar el sql desde delphi, esto es con la finalidad de generar muchos reportes de la tabla generada.

Muchas gracias por su coperacion.

  Respuesta:  joan bautista bautista
Amigo aqui le mando un ejemplo de como hacer un query a una tabla de informix, usando el tquery, y luego que tengo mi cursor lleno la tabla, que si se desea se puede crear cada vez o crear una y llenar una sola vez.

QrDns.sql.text:= 'set isolation to dirty read' ;
QrDns.ExecSQL;
QrDns.sql.text:= 'select * '+
'from '+tabla+','+tabla+'_dcd '+
'where telnum=retkey ' +
'and eisrcode in (1,2,4,925,926,929,927) and '+
'eisldate between "'+fecha1+'" and "'+Fecha2+'" ';

// showmessage(QrDns.sql.text);
QrDns.active:=true;

progressbar1.Max:=qrdns.RecordCount;
progressbar1.Min:=0;

QrDns.First;
while not QrDns.eof do
begin
table2.Active := true;
try
table2.Insert;
table2.fieldByName('TelNum').AsString := QrDns.FieldByName('TelNum').AsString;
table2.fieldByName('address').AsString := QrDns.FieldByName('address').AsString;
table2.fieldByName('address2').AsString := QrDns.FieldByName('address2').AsString;
table2.fieldByName('City').AsString := QrDns.FieldByName('City').AsString;
table2.fieldByName('State').AsString := QrDns.FieldByName('State').AsString;
table2.fieldByName('Zip').AsString := QrDns.FieldByName('Zip').AsString;
table2.fieldByName('Name').AsString := QrDns.FieldByName('Name').AsString;
table2.Post;
ProgressBar1.StepIt ;
Except
begin
table2.Cancel;
end
end ;
QrDns.next;
end;

table2.Active := false;
end;