MySql y Delphi en campos fecha
Publicado por Rodolfo (27 intervenciones) el 31/01/2004 01:07:51
Buenas
Una consulta.
Tengo una aplicacion el Delphi que usa tablas de una base de datos de MySql
Mi problema radica cuando tengo que hacer una busqueda con un campo primario (y unico) de tipo fecha.
Antes de agregar un nuevo registro, realizo una busqueda en la tabla de tipo de cambio y si no localizo el registro procedo a agregar uno, si es que existe sobre ese registro edito los otros campos.
Para esta tabla de tipo de cambio del Dolar con mi moneda no estoy usando qureys, solo tablas de MyDac.
Cada vez que hago la busqueda, el locate no lo localiza, entonces procede a crear el nuevo registro con la fecha determinada, pero como esa fecha en verdad si existe, MySql genera un error de duplicacion de campo primario (y unico).
Veo que el formato que maneja en las fechas MySql es aaaa-mm-dd pero cuando hago los registros hay un cambio automatico (de dd/mm/aaaa) cual podria ser el problema?
vfecha:=dtp1.date;
with dm1.t_tipcam do
begin
first;
If not locate('fecha',vfecha,[loPartialKey]) Then
Begin
Append;
FieldByName('fecha').AsDateTime:=vfecha;
End
Else Edit;
FieldByName('compra').AsFloat:=StrToFloat(Edit1.Text);
FieldByName('venta').AsFloat:=StrToFloat(Edit2.Text);
Post;
end;
Muchas Gracias.
Una consulta.
Tengo una aplicacion el Delphi que usa tablas de una base de datos de MySql
Mi problema radica cuando tengo que hacer una busqueda con un campo primario (y unico) de tipo fecha.
Antes de agregar un nuevo registro, realizo una busqueda en la tabla de tipo de cambio y si no localizo el registro procedo a agregar uno, si es que existe sobre ese registro edito los otros campos.
Para esta tabla de tipo de cambio del Dolar con mi moneda no estoy usando qureys, solo tablas de MyDac.
Cada vez que hago la busqueda, el locate no lo localiza, entonces procede a crear el nuevo registro con la fecha determinada, pero como esa fecha en verdad si existe, MySql genera un error de duplicacion de campo primario (y unico).
Veo que el formato que maneja en las fechas MySql es aaaa-mm-dd pero cuando hago los registros hay un cambio automatico (de dd/mm/aaaa) cual podria ser el problema?
vfecha:=dtp1.date;
with dm1.t_tipcam do
begin
first;
If not locate('fecha',vfecha,[loPartialKey]) Then
Begin
Append;
FieldByName('fecha').AsDateTime:=vfecha;
End
Else Edit;
FieldByName('compra').AsFloat:=StrToFloat(Edit1.Text);
FieldByName('venta').AsFloat:=StrToFloat(Edit2.Text);
Post;
end;
Muchas Gracias.
Valora esta pregunta


0