Ver la Versión Completa : Pasar de IBQuery a IBDataSet
NISOTO
22-11-2013, 00:09:41
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
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.
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 (http://www.intitec.com/varios/Delphi_conexion_firebird_con_ibx.pdf) (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
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.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.