tabla.SQL.Clear; tabla.Close; tabla.SQL.Add('insert into paquetes(folio, nombre, hora, descripcion, precio)values(:pfolio, :pnombre, :phora, :pdescripcion, :pprecio)'+ ' on duplicate key update nombre=:pnombre, descripcion=:pdescripcion, precio=:pprecio'); tabla.ParamByName('pfolio').AsString:=folio.Text; tabla.ParamByName('pnombre').AsString:=nombre.Text;+ tabla.ParamByName('phora').AsTime:=hora.Time; tabla.ParamByName('pdescripcion').AsString:=descripcion.Text; tabla.ParamByName('pprecio').AsString:=precio.Text; tabla.Execute; tabla.SQL.Clear; showmessage('grabado con exito ');
guardar hora
#1
Escrito 06 agosto 2012 - 09:02
#2
Escrito 06 agosto 2012 - 09:06
Saludos
#3
Escrito 06 agosto 2012 - 09:08
#4
Escrito 06 agosto 2012 - 09:32
la puse en dtktime
Pues lo unico que se me ocurre es que tengas mal algún formato, sea en la base de datos, en el código o en el objeto, ya descartamos dos, tal vez el problema está en el campo de la BD.
Saludos
#5
Escrito 06 agosto 2012 - 09:45
#6
Escrito 06 agosto 2012 - 09:49
pues e nl abase de datos hora lo tengo con el tipo de dato time no se si eso me este provocando que me guarde en ese formato la hora (-838:59:59)
Haz éste ejercicio
.... showMessage( timetostr(hora.Time) ); tabla.ParamByName('phora').AsTime := hora.Time; ....
Y muestranos la pantalla del showMessage;
Saludos
#7
Escrito 06 agosto 2012 - 09:51
Esto no te da error ?
... tabla.ParamByName('pnombre').AsString:=nombre.Text;+ ///Este signo de mas ¿? tabla.ParamByName('phora').AsTime:=hora.Time; ...
#8
Escrito 06 agosto 2012 - 10:39
#9
Escrito 06 agosto 2012 - 10:49
egostar ese signo de mas no esta en mi codigo al pasarlo aqui a la pagina se me fue sin querer jeje......y el showmessage me pone la hora correcta que capturo en el DateTimePicker, el error esta como se guarda en la base de datos
Vaya pues el asunto está clavado en la forma como se pega el dato al campo.
Y si haces esto ?
... tabla.ParamByName('phora').AsString := timetostr(hora.Time); ...
Saludos
#10
Escrito 06 agosto 2012 - 10:52
#11
Escrito 06 agosto 2012 - 10:54
#12
Escrito 06 agosto 2012 - 11:09
tabla.SQL.Clear; tabla.Close; tabla.SQL.Add('insert into paquetes(folio, nombre, hora, descripcion, precio)values(:pfolio, :pnombre, :phora, :pdescripcion, :pprecio)'+ ' on duplicate key update nombre=:pnombre, descripcion=:pdescripcion, precio=:pprecio'); tabla.ParamByName('pfolio').AsString:=folio.Text; tabla.ParamByName('pnombre').AsString:=nombre.Text; tabla.ParamByName('phora').AsTime:= FormatDatetime('hhnnss',hora.Time); tabla.ParamByName('pdescripcion').AsString:=descripcion.Text; tabla.ParamByName('pprecio').AsString:=precio.Text; tabla.Execute; tabla.SQL.Clear; showmessage('grabado con exito ');
#13
Escrito 06 agosto 2012 - 11:46
#14
Escrito 06 agosto 2012 - 12:00
#15
Escrito 06 agosto 2012 - 12:07
tabla.ParamByName('phora').AsTime:= FormatDatetime('hhnnss',hora.Time);
El campo en MySQL no es el típico "hh:nn:ss", es hhnnss. Que changos tan raros
Saludos
#16
Escrito 06 agosto 2012 - 12:08
Ahora entiendo
delphi
tabla.ParamByName('phora').AsTime:= FormatDatetime('hhnnss',hora.Time);
El campo en MySQL no es el típico "hh:nn:ss", es hhnnss. Que changos tan raros
Saludos
de hecho amigo los campos de fecha son manejados por cada motor de base de datos a antojo.. por ejemplo en Db2 el campo debe ser hh:nn:ss.000000
#17
Escrito 06 agosto 2012 - 12:28
de hecho amigo los campos de fecha son manejados por cada motor de base de datos a antojo.. por ejemplo en Db2 el campo debe ser hh:nn:ss.000000
Si si, ahi solo le agregan los milisegundos, pero el separador sigue siendo los dos puntos.
Es por ejemplo, Firebird muestra la fecha como mm.dd.yyyy, pero no le importa que la agregues como mm/dd/yyyy, a eso me refiero, que a pesar de que el formato que usan es como les viene en gana, no se cierran a recibir los datos como normalmente lo haces.
Saludos