Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-07-2004
Pekador Pekador is offline
Registrado
 
Registrado: jul 2004
Posts: 4
Poder: 0
Pekador Va por buen camino
Insertar con Zquery + ZUpdate

Saludos a todos

Suelo frecuentar los foros del Club, y me sido de gran ayuda , pero ahora
tengo una duda , que creo no ha sido expuesta.


Uso un formulario en el que muestro resultados de una consulta
SELECT (ZQuery) , estos relaciones mediante campos DBEdit,
hasta aqui todo bien.

Mi duda es que me gustaria usar este mismo formulario para la insercion de
un nuevo registro.

La cuestion es que cuando abro este formulario y no hago la consulta , los
DBEdit no me dejan escribir en ellos, por lo que al hacer un insert con otra
ZQuery.execSQL no puedo insertar nada.

Me gustaria saber si es que estoy relacionando mal los componentes entre si
o hago algo mal.

Tambien me gustaria que alguien me informara de como relacionar y cual seria
el funcionaminento de Zquery + ZUpdate , o en que pagina puedo obtener
informacion.

Muchas Gracias por todo.

Me he dado cuenta que son muchas cuestiones, pero creo que la solucion de
una puede ser la de la otra a la vez.

Gracias otra vez
Responder Con Cita
  #2  
Antiguo 28-07-2004
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Hola

Cita:
Empezado por Pekador
La cuestion es que cuando abro este formulario y no hago la consulta , los
DBEdit no me dejan escribir en ellos, por lo que al hacer un insert con otra
ZQuery.execSQL no puedo insertar nada.
Si no haces la consulta los DBEdit no se activan, podrías usar TEdit.
Otra solución es realizar la consulta de forma que no aparezca ningun valor con lo que los DBEdit se activarán.

Cita:
Empezado por Pekador
Tambien me gustaria que alguien me informara de como relacionar y cual seria
el funcionaminento de Zquery + ZUpdate , o en que pagina puedo obtener
informacion.
Al menos en la versión de zeos que yo tengo existe el atributo "UpdateObjetct" y es aquí donde debes indicarle el objeto ZUpdate que va a utilizar. Este objeto te permite insertar, borrar y modificar registros.
Desde el objeto ZUpdate puedes acceder a los anteriores valores de la consulta con el prefijo "OLD_", por ejemplo ":OLD_codigo" haría referencia al valor del código en la consulta.

Espero que te sirva de algo.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #3  
Antiguo 29-07-2004
Pekador Pekador is offline
Registrado
 
Registrado: jul 2004
Posts: 4
Poder: 0
Pekador Va por buen camino
ZUpdate

Cita:
Empezado por kayetano

Al menos en la versión de zeos que yo tengo existe el atributo "UpdateObjetct" y es aquí donde debes indicarle el objeto ZUpdate que va a utilizar. Este objeto te permite insertar, borrar y modificar registros.
Desde el objeto ZUpdate puedes acceder a los anteriores valores de la consulta con el prefijo "OLD_", por ejemplo ":OLD_codigo" haría referencia al valor del código en la consulta.
Lo que no sabria es como tengo que asignar los campos que quiero por
ejemplo insertar en la BD.

No se si los cogeria automaticamente de la consulta realizada antes, o bien,
tendria que asignarlos , y como ?

Si tuviera que asignarlos , seria :
¿¿ ZQuery2.Params[0].Value:= campo.text ??


Espero haberme explicado bien.


Gracias otra vez
Responder Con Cita
  #4  
Antiguo 18-01-2007
LuCkY_007 LuCkY_007 is offline
Miembro
 
Registrado: dic 2005
Posts: 23
Poder: 0
LuCkY_007 Va por buen camino
En la SQL pondrias

Código:
SELECT * FROM :tabla
Y luego...

Código:
ZQuery.ParamByName('tabla').AsString := Edit1.Text
Por ejemplo...

Última edición por LuCkY_007 fecha: 18-01-2007 a las 12:18:31.
Responder Con Cita
  #5  
Antiguo 18-01-2007
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Hola

Oye LuCkY_007 te has parado a mirar de cuando es este hilo ... la pregunta se realizó el 28-7-2004 .... ¡¡¡2004!!!
Esta bien que se colabore en el foro y se ayude al resto de compañeros ... pero ... ¡¡¡2004!!! ¡¡¡que igual ya ni trabaja en ese proyecto!!!

Es broma, pero es que me ha chocado el tema de fecha.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #6  
Antiguo 18-01-2007
LuCkY_007 LuCkY_007 is offline
Miembro
 
Registrado: dic 2005
Posts: 23
Poder: 0
LuCkY_007 Va por buen camino
Ostia tio me dao cuenta despues de poner el post, esque lo encontre con la busqueda y quise ayudar, pero despues de postear vi la fecha
Responder Con Cita
  #7  
Antiguo 04-02-2007
newdelphi7 newdelphi7 is offline
Miembro
 
Registrado: may 2006
Posts: 36
Poder: 0
newdelphi7 Va por buen camino
BUeno pero al menos a mi me ha servido de ayuda

Bueno solo para comentar que aunque fue de hace 3 años atras la pregunta, la respuesta posteada me ha servido de gran ayuda..

So no te preocupes me ha ayudado la respuesta.....ejejeje

Es que nose ni tengo idea de como ejecutar los comandos mysql con zeos por ejemplo para mostrar una tabla, ahcer una consulta usando WHERE..

es decir nose que componentes poner ni donde poner el codigo para que se haga la consulta, si alguien me da una manito..
Responder Con Cita
  #8  
Antiguo 04-02-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
El componente ZQUery de Zeos encapsula todo lo necesario para tratar la consulta como si fuera una tabla cualquiera. Es decir se pueden aplicar los métodos comunes como Insert, Edit, Post, etc.

Solo hay que hacer lo siquiente:
Código Delphi [-]
{ Supongamos una tabla facturas con los siguientes campos:
   fecha, cliente, total

   Deseamos aumentar el total en un 10% de todas las facturas de hoy }


  ZQuery1.Connection := MiConexion   // previamente debiste haber configurado  un componente ZConnection  que es el que realiza la conexión
  With ZQuery1 Do
  Begin
    SQL.Add('select * from facturas where fecha=:mifecha');
    ParamByNAme('mifecha').AsDateTime := Today;  //Escogemos que nos devuelva solo facturas con fecha de hoy
    Open;  //Aqui se realiza la consulta 
    //Ahora recorremos el resultado como si fuera una tabla y la vamos actualizando
    While Not ZQuery1.Eof Do
    Begin
       Edit;
       FieldByName('total').AsCurrency :=  FieldByName('total').AsCurrency * 1.10;
      Post;
      Next;
    end;
    Close; //Cerramos los datos.
  end;

Como puedes ver el tratamiento a los resultados es identico como si fuera una tabla comun y corriente. Los componentes Zeos se encargan de hacer las actualizaciones usando SQL de forma que no hay que preocuparse por eso.
Esta forma de usar los querys solo funciona con consultas de una sola tabla, si usas varias tablas para hacer joins o similar entonces las consultas ya no son editables como muestra el ejemplo.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:15:10.


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
Copyright 1996-2007 Club Delphi