Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problemas para insertar con Zeos y MySQL (https://www.clubdelphi.com/foros/showthread.php?t=65964)

mcsebas 25-01-2010 08:56:16

Problemas para insertar con Zeos y MySQL
 
Holas a todos nuevamente resulta que estoy haciendo un programa y utilizo MySQL como gestor de base de datos, hasta ahi todo bien, pero a la hora de insertar datos en una tabla de la base de datos no puedo agregarlos.

Utilizo los componentes ZConnection y ZQuery. Mi consulta es:

¿Como puedo hacer la insercion con estos dos componentes o se necesita de un data source o ztable?

Este es el codigo que utilizo:
Código Delphi [-]
                try
                   Conexion:=TZConnection.Create(nil);
                   with Conexion do
                        begin
                              User:='root';
                              Password:='mcsebas';
                              HostName:='localhost';
                              Database:='despacho';
                              Protocol:='mysql-5';
                              Port:=3306;
                              Connected:=true;
                        end;

                   ComInsertar:=TZQuery.Create(nil);
                   with ComInsertar do
                        begin
                              Connection:=Conexion;
                              SQL.Clear;
                              SQL.Text:='insert into reparticion (idrep, nomreparticion, codrep) values (null,:NombreRep,:CodigoRep);';
                              ParamByName('NombreRep').AsString:=txtNombre.Text;
                              ParamByName('CodigoRep').AsString:=txtCodigo.Text;
                              Active;
                              ExecSQL;

                        end;


                Except
                  on e:Exception do

                end;

Gracias :)

Lepe 25-01-2010 14:33:12

Quita la linea "Active" en el ZQuery.

Active := True es para selects
ExecSql es para consultas de acción (insert, delete, modify)

Veo que no usas transacciones, por tanto usarás unas implicitas creadas por los componentes Zeos (o eso espero, nunca he usado Zeos pero es lo normal). El tema de transacciones puede ser más largo de explicar, estoy seguro que Zeos tiene manuales sobre ello en su web o en otros blogs.

Saludos

rgstuamigo 25-01-2010 14:42:02

Pregunto-->¿Con el codigo que tienes arriba te da algun error? si es asi Cual?:confused:

Cita:

Empezado por mcsebas (Mensaje 351743)
...
Utilizo los componentes ZConnection y ZQuery. Mi consulta es:
¿Como puedo hacer la insercion con estos dos componentes o se necesita de un data source o ztable?
...

No se necesita ningun DataSource, ya que un dataSource es tan solo util para visualizar lo datos.;).
Lo ideal para hacer insercion, edicion,eliminacion es que coloces un ZConnection en tu formualrio o en un DataModule (uno solo sirve para todo), lo configures con todas las propiedades necesarias, y lo utilizes sin estar creando y destruyendo a cada rato, en este caso usas ese unico para cualquier cosas que quieras hacer en tu base de dato; eso te va ahorrar bastante codigo; tambien puedes hacer lo mismo con tu ZQuery.;).
Saludos...:)

mcsebas 25-01-2010 19:19:32

La verdad que no me tira ningun error porque no le puse ni un mensaje a la excepcion, hice lo de quitar la sentencia "Active" pero nada che.

Podrian citar algun ejemplo para insercion con Zeos.

La conexion con MySQL esta bien funciona perfecto pero estoy dando vuelta en esto de la insercion.

¿Debo manejar las transacciones como dicen?




Gracias :)


La franja horaria es GMT +2. Ahora son las 11:34:38.

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