Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Pasar de IBQuery a IBDataSet (https://www.clubdelphi.com/foros/showthread.php?t=84684)

NISOTO 22-11-2013 00:09:41

Pasar de IBQuery a IBDataSet
 
hola a todos,

Como diablos paso esto de un ibquery a un ibdatadset, no quiero trabajarlo en ibquery. trabajo firebird 2.5 y delphi 2007
Código Delphi [-]
begin 
   DMCarga.ibqry_Calificacion.Close;
    DMCarga.ibqry_Calificacion.Sql.Clear;
    DMCarga.ibqry_Calificacion.Sql.Add('UPDATE calificacion');
    DMCarga.ibqry_Calificacion.Sql.Add('SET MATERIA=(SELECT materia FROM salones WHERE materia = materia)');
    DMCarga.ibqry_Calificacion.Sql.Add('AND id_salon = id_salon');
    DMCarga.ibqry_Calificacion.Open;
 end;

porfa

RONPABLO 22-11-2013 04:11:50

en los ibx necesita una transacción (ibTransaction) relacionada a la base de datos (ibdatabase), puedes buscar como configurar la transacción.
Código SQL [-]
begin
     DMCarga.ibqry_Calificacion.Close;
     DMCarga.ibqry_Calificacion.Sql.Clear;
     DMCarga.ibqry_Calificacion.Sql.Add('UPDATE calificacion');
     DMCarga.ibqry_Calificacion.Sql.Add('SET MATERIA=(SELECT materia FROM salones WHERE materia = materia)');
     DMCarga.ibqry_Calificacion.Sql.Add('AND id_salon = id_salon'); 
    DMCarga.ibqry_Calificacion.ExecSQL;    
     DMCarga.IBTransaction1.commit; 
 end;

ecfisa 22-11-2013 05:51:41

Hola NISOTO.

Además de las correctas observaciones que te hizo RONPABLO, en este enlace tenes explicado de forma básica el uso de los componentes IBX:
Delphi, conexión a firebird con componentes IBX (busca por IBDataSet)

Saludos :)

NISOTO 22-11-2013 06:38:50

Hola RONPABLO y ecfisa

Gracias por responder, pero mi pregunta es si este codigo que tengo con un IBQuery, como lo puedo implementar para un IBDataSet, ya que lo probe y me lanza error, ademas ya tengo todo configurado con el IBDatabase y el IBTransaction.

se puede utilizar esto:
.Sql.Add en un IBDataSet

Casimiro Notevi 22-11-2013 09:59:13

Te han respondido, te han escrito el código, te lo han explicado y te han enlazado un documento con ejemplos y todo.... y vas y dices: "lo probe y me lanza error", no somos adivinos ;)

Caminante 22-11-2013 16:16:24

Hola
Tal vez podrías usar la propiedad ModifySql ya que veo que quieres realizar un update

Código Delphi [-]
IBDataSet1.ModifySQL.Clear;
IBDataSet1.ModifySQL.Add('tu sql');

Pero veo qu quieres ejecutar directamente la sentencia y ahi ya no te serviria mucho ya que el sql escrito ahi
se ejecuta al hacer post (como si se tratara de una TIBTable).

En tal caso podria probar con un objeto IBUpdateSQL.

Saludos

NISOTO 22-11-2013 18:05:35

Gracias, Caminante

Eso era lo que queria que me explicaran.

El maestro no aprendio sabiendo y la insistencia siempre produce frutos.


La franja horaria es GMT +2. Ahora son las 15:59:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi