
[RESUELTO] Veo un Error al enviar la hora de mi pc al campo Hora
#1
Posted 03 November 2010 - 11:47 PM
ADOTable1.FieldByName('Hora').AsString:=timetostr(time); Para enviar la hora del reloj de mi pc al campo Hora de una Tabla de una BD SQL 2005, pero resulta que el campo me guardo esto (30/12/1899) 01:29:04 a.m.)
Solo me intereza que guarde la hora, y no la fecha y la hora, que ademas esa fecha salio erronea y no se por que.
El tipo de dato del campo 'Hora' esta declarado como Datetime.
que hago ??
#2
Posted 04 November 2010 - 07:05 AM
ADOTable1.FieldByName('Hora').AsDateTime:= Now;
#3
Posted 04 November 2010 - 07:19 AM
ADOTable1.FieldByName('Hora').AsDateTime:= FormatDateTime('dd/mm/yyyy hh:mm',Now);
Saludos
#4
Posted 04 November 2010 - 07:28 AM
O usar el FormatDateTime:
delphi
ADOTable1.FieldByName('Hora').AsDateTime:= FormatDateTime('dd/mm/yyyy hh:mm',Now);
Saludos
No lo he probado pero asi deberia dar error ya que FormatDateTime te devuelve un String

#5
Posted 04 November 2010 - 08:52 AM
O usar el FormatDateTime:
delphi
ADOTable1.FieldByName('Hora').AsDateTime:= FormatDateTime('dd/mm/yyyy hh:mm',Now);
Saludos
No lo he probado pero asi deberia dar error ya que FormatDateTime te devuelve un String
Si, es verdad, pero solo basta con añadirle el StrToDateTime, puede que funcione.
Saludos!
#6
Posted 04 November 2010 - 10:32 AM
#7
Posted 04 November 2010 - 10:57 AM
y que tal si mejor modifico el campo para que en ves de ser 'Hora' sea 'Fecha_Hora' y asi me guarda la fecha y la hora en un solo campo ??
No es mala idea


Saludox !

#8
Posted 04 November 2010 - 10:58 AM
y que tal si mejor modifico el campo para que en ves de ser 'Hora' sea 'Fecha_Hora' y asi me guarda la fecha y la hora en un solo campo ??
Pues eso ya depende de tu necesidad y conveniencia, por ejemplo, si no tuvieras que usar esa hora para alguna operación adicional, podrías solo dejarla como texto.
Saludos!
#9
Posted 04 November 2010 - 02:06 PM
Necesitaria manejar los campos 'Hora' y 'Fecha' de forma individual.
Entonces como hago para que me guarde la hora en el campo 'Hora' y la fecha en el campo 'Fecha' ????
Probe con ADOTable2.FieldByName('Hora').Asdatetime:=now;
pero vuelve a guardarme la fecha seguido de la hora.
Quiero guardar cada campo por separado
#10
Posted 05 November 2010 - 07:34 AM

#11
Posted 05 November 2010 - 11:38 AM
Tu puedes guardar eso en campos unicos, lo que debes es recuperar solo el valor que necesites.
![]()
Si eso es lo que quiero, pero como lo hago es la pregunta ?
#12
Posted 05 November 2010 - 11:38 AM
Tu puedes guardar eso en campos unicos, lo que debes es recuperar solo el valor que necesites.
![]()
Si eso es lo que quiero, pero como lo hago es la pregunta ?
#13
Posted 05 November 2010 - 11:47 AM
SELECT CAST(mifechahora AS TIME) FROM prueba
Lo que no se es si tu manejador lo soporte, pruebalo y nos comentas
#14
Posted 05 November 2010 - 11:53 AM
En firebird seria con un cast
sql
SELECT CAST(mifechahora AS TIME) FROM prueba
Lo que no se es si tu manejador lo soporte, pruebalo y nos comentas
Y que es Firebird ??
Y es que en SQL server 2005 express no se puede guardar la fecha y la hora por separado ??
#15
Posted 05 November 2010 - 12:05 PM
...
Y es que en SQL server 2005 express no se puede guardar la fecha y la hora por separado ??
Claro amigo, sólo debes crear dos campos, uno para cada uno y usar el FormatDateTime como comenta Felipe.
Saludos.
EDITO: Quise decir campos y no tablas.
#16
Posted 05 November 2010 - 12:46 PM
Datamodule3.ADOTable1.FieldByName('Hora').AsDatetime:=FormatDateTime('hh:mm',Now); Datamodule3.ADOTable1.FieldByName('Fecha').AsDatetime:= FormatDateTime('dd/mm/yyyy',Now);
el error es este
[Error] Unit4.pas(57): Incompatible types: 'TDateTime' and 'String'
[Error] Unit4.pas(58): Incompatible types: 'TDateTime' and 'String'
[Fatal Error] Project1.dpr(9): Could not compile used unit 'Unit4.pas'
#17
Posted 05 November 2010 - 01:49 PM
Datamodule3.ADOTable1.FieldByName('Hora').AsString:=FormatDateTime('hh:mm',Now); Datamodule3.ADOTable1.FieldByName('Fecha').AsString:= FormatDateTime('dd/mm/yyyy',Now);

Saludox !

#18
Posted 05 November 2010 - 02:06 PM

Es decir, un motor para el manejo de bases de datos relacionales...., digamos que es una opción como los son Access, MySQL, SQLServer, Oracle, claro !!!, cada una con sus particularidades y alcances

Saludox !

#19
Posted 05 November 2010 - 10:16 PM
La función FormatDateTime regresa un valor de tipo String amigo, por lo que harías tu asignación así:
delphi
Datamodule3.ADOTable1.FieldByName('Hora').AsString:=FormatDateTime('hh:mm',Now); Datamodule3.ADOTable1.FieldByName('Fecha').AsString:= FormatDateTime('dd/mm/yyyy',Now);
![]()
Saludox !![]()
Ya lo hice pero hay un problema, me muestra la fecha bien, pero en la hora me pone una fecha viejisima delante,y luego la hora.
Esto es lo que me sale en el campo 'Hora' 30/12/1899 12:02:00 a.m. La hora sale bien, pero esa fecha porque sale al lado ???
#20
Posted 05 November 2010 - 10:27 PM
Ya lo hice pero hay un problema, me muestra la fecha bien, pero en la hora me pone una fecha viejisima delante,y luego la hora.
Esto es lo que me sale en el campo 'Hora' 30/12/1899 12:02:00 a.m. La hora sale bien, pero esa fecha porque sale al lado ???
Normalmente esa fecha viejísima que ves, corresponde a la fecha de inicio o la menor permitida por la BD.
Si no ves otra alternativa desde la base de datos para guardar el campo solo con la hora, lo mejor será maquillar ese dato para que solo muestre la parte interesada, quizá una función Copy.
Saludos!