PDA

Ver la Versión Completa : Problemas para insertar con Zeos y MySQL


mcsebas
25-01-2010, 08:56:16
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:

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:


...
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 :)