Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   insertar / actualizar una tabla mediante el componente ZQuery (https://www.clubdelphi.com/foros/showthread.php?t=30407)

Aprendiendo 05-04-2006 15:51:03

insertar / actualizar una tabla mediante el componente ZQuery
 
Ante todo un saludo a tod@s:

Mi duda es la siguiente:
He instalado los componentes Zeos para conectar con MySQL, el acceso a la B.D. lo he conseguido sin problemas, pero ahora cuando quiero insertar / modificar registros en una tabla por ejemplo CLIENTES (por ahora estoy haciendo pruebas) no puedo hacerlo como lo hacía antes.

No funciona igual que las Query normales así que necesitaría alguna ayuda por vuestra parte. ¿Cómo utilizo parámetros mediante código en un ZQuery?, debería utilizar una ZUpdateSQL, en tal caso ¿Cómo se parametriza?

Esperando una pronta respuesta por vuestra parte, reciban un cordial saludo... :) :cool: :)

JCarlosas 25-04-2006 21:57:43

Como una imagen vale mas que mil palabras aqui te envio un fragmente de codigo de mis programas (Modificado en algo para que fuera mas didactico):

//**************************************
TbTramas.Insert;
try
tbTramas.FieldByName(ncbd_TipoDeOperacion).AsInteger := 69;
tbTramas.FieldByName(ncbd_IDMovil).AsString := 'A que hora mataron a Lola??';

except on E: Exception do Begin
tbTramas.Cancel; //Si ocurrio algo cancelo la insercion
end; //except on E: Exception do Begin
end; //try
try
tbTramas.Post; //Intento hacer valido en la BD lo que le envie al compoente anteriormente

except on E: Exception do Begin
tbTramas.Cancel;
end;
end; // try
//Ahhh tbTramas es del tipo TZTAble y se arrastra desde la paleta de componentes

//*********************************************************
Para edicion es similar lo unico que en vez de llamar al inicio a
TbTramas.Insert;
llamas a TbTramas.Edit;


Bueno espero que con esto resuelvas.
Saludos
JC

Aprendiendo 26-04-2006 15:13:49

Muchas gracias por tu respuesta JCarlosas, pero mi duda es con los componente Query no con los Table.

Si sabes manejar TZQuery en tiempo de ejecución, te agradecería me respondieras.

Un saludo...
:) :cool: :)

JCarlosas 26-04-2006 15:22:28

Aqui te envio una funcion que uso a diario.

El componente TZquery tienes que haberlo puesto de antemano en el formulario y haberlo conectado al TZConnection como ya conoces.
ConsultaSQL es una consulta correctamente formada de insercion o actualizacion.


Código Delphi [-]
function insertarSQL(var Qry: TZQuery; ConsultaSQL: String) : boolean;
 Begin
   result := true;
   try
    if  Qry.Active then Qry.Close;
    Qry.SQL.Clear ;
    Qry.SQL.Add(ConsultaSQL);
    Qry.ExecSQL;
   except on E: Exception do Begin
                               result := false; //Aqui podrias hacer otras cosas
                                                   // tambien en caso de que la  consulta fallase por estar mal formada 
//la consulta, porque intentas insertar una llave duplicada o por  bla bla bla ......

                             End;  //except on E: Exception do Begin
   end;  //  try
 end;

Espro que te sea util.
Saludos
Juan Carlos


La franja horaria es GMT +2. Ahora son las 10:26:07.

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