PDA

Ver la Versión Completa : Guardar datos en MySql con MyDac


Lord-G
02-12-2008, 03:38:24
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
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