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)
-   -   Guardar datos en MySql con MyDac (https://www.clubdelphi.com/foros/showthread.php?t=62034)

Lord-G 02-12-2008 03:38:24

Guardar datos en MySql con MyDac
 
Un saludo al foro, antes usaba ZeosLib, pero un amigo me recomendo el MyDac, bueno la cuestion es que tengo una tabla con el nombre clientes a la cual mediante un formulario deseo meter ahi la informacion de clientes como su nombre la direccion y telefonos,etc

Con ZeosLib lo habia echo de esta forma y me funcionaba:

******

procedure TForm1.Button1Click(Sender: TObject);
begin
zquery1.Close;
zquery1.SQL.Clear;
zquery1.SQL.Text := 'insert into clientes (nombre,telefono,direccion) values (:nombre, :telefono, :direccion)';
zquery1.ParamByName('nombre').AsString :=edit1.text;
zquery1.ParamByName('telefono').AsString :=edit2.text;
zquery1.ParamByName('direccion').AsString :=edit1.text;
zquery1.ExecSQL;
end;


*******************************

Ahora Con MyDac lo hago asi

procedure TForm1.Button1Click(Sender: TObject);
begin
myquery1.Close;
myquery1.SQL.Clear;
myquery1.SQL.Text := 'insert into clientes (nombre,telefono,direccion) values (:nombre,:casa,:direccion)';
myquery1.ParamByName('nombre').AsString := edit1.Text;
myquery1.ParamByName('telefono').AsString :=edit2.Text;
myquery1.ParamByName('direccion').AsString :=edit3.Text;
myquery1.Execute;
end;


Y no me sirve ya que ejecuto el form meto los datos el nombre , el telefono, y la direccion y cuando le doy pulsar al boton....me indica este error:

#HY000Field 'Fecha_ing' doesn't have a default value

Si tengo un Campo en la Tabla 'Fecha_Ing' pero no entiendo porque me dice que no tiene un valor por defecto si nisiquiera lo estoy utilizando el este formulario de prueba :( :confused:

Por Favor Indicarme que estoy haciendo mal, la verdad estoy con ganas de volver a ZeosLib que como les digo me trabajaba bien, en Cambio MyDac no lo he comprendido.

¿Vale La pena MYDac o es la Misma Cosa usar ZeosLib?

De antemano Muchas Gracias !!

JCarlosas 02-12-2008 15:03:52

Hola Lord-G.
Verifica en tu Tabla en MySQL. No sea que no permitas un valor nulo en el campo 'Fecha_Ing'. Eso podria darte ese error. Pero dicho error debia darte tambien en ZeosLib.

MyDac es muy bueno, pero yo me quedo con ZeosLib.
Pero bueno para gusto estan hechos los colores :)
Saludos
JCarlos

JCarlosas 02-12-2008 19:39:51

Cita:

Empezado por Lord-G (Mensaje 329034)

procedure TForm1.Button1Click(Sender: TObject);
begin
zquery1.Close;
zquery1.SQL.Clear;
zquery1.SQL.Text := 'insert into clientes (nombre,telefono,direccion) values (:nombre, :telefono, :direccion)';
zquery1.ParamByName('nombre').AsString :=edit1.text;
zquery1.ParamByName('telefono').AsString :=edit2.text;
zquery1.ParamByName('direccion').AsString :=edit1.text;
zquery1.ExecSQL;
end;


*******************************

Ahora Con MyDac lo hago asi

procedure TForm1.Button1Click(Sender: TObject);
begin
myquery1.Close;
myquery1.SQL.Clear;
myquery1.SQL.Text := 'insert into clientes (nombre,telefono,direccion) values (:nombre,:casa,:direccion)';
myquery1.ParamByName('nombre').AsString := edit1.Text;
myquery1.ParamByName('telefono').AsString :=edit2.Text;
myquery1.ParamByName('direccion').AsString :=edit3.Text;
myquery1.Execute;
end;



De todas formas chequea tambien lo que te resalte en negritas.
Saludos
JCarlos

Lord-G 03-12-2008 03:54:55

Pues Resulta que si, el problema estaba en mi base de datos ya que el campo fecha_ing le tenia marcado la opcion not null le desmarque esta opcion al igual que a los demas campos y ya funciona ya guardo la informacion y me la almacena en la tabla clientes, Gracias a JCarlosas y por supuesto a los demas por su intervencion. creo que este hilo quedo resuelto...Gracias :D:D


La franja horaria es GMT +2. Ahora son las 06:11:17.

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