FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Otra de ADO (Puro) Fechas
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Otra de ADO (Puro) Fechas
Posted: Fri Jan 11, 2008 09:55 PM
Amigos tengo el siguiente problema:

Estoy tratanto de agregar un registro a una tabla en mssql. La tabla tiene un campo de tipo [smalldatetime] es una fecha con la hora queda de la siguiente manera: 01/01/2008 12:00:00 a.m.

El problema es que intentanto subir en todos los formatos de fecha

fec:='01/01/2008 12:00:00 a.m.'
fec:='01/01/2008 00:00'
fec:='01/01/08 00:00'

La unica forma de lo sube es asi:

fec:='01/01/2008'

Pero cuando miro la fecha en la tabla me queda una fecha que no es:

"01/01/1900 12:00:00 am"

Alguien me puede indicar como devolver el valor fecha.

El Codigo es el siguiente:

SELE tbl_lin
Dbgotop()
Do while !Eof()

  Cod:=alltrim(tbl_lin->lin_codigo)
  Nom:=alltrim(tbl_lin->lin_nombre)
  Act:=Valor(tbl_lin->lin_activo)
  Con:=Valor(tbl_lin->lin_conexi)
  Emp:=alltrim(tbl_lin->lin_nomemp)
  Equ:=alltrim(tbl_lin->lin_equipo)
  Ope:=alltrim(tbl_lin->lin_codope)
  Ver:=dtoc(tbl_lin->lin_versio)
  Fec:=dtoc(tbl_lin->lin_fecope)
  Pro:=alltrim(tbl_lin->lin_proreg)
  Rem:=alltrim(tbl_lin->LIN_NOMREM)

 cCommandSql	:= "INSERT INTO MAELIN (lin_codigo,lin_nombre,lin_activo,lin_versio) VALUES ('"+Cod+"','"+Nom+"','"+Act+"',"+Fec+")"


  TRY
    oCon:Execute(cCommandSql)
  CATCH oError
    MsgInfo("El registro no pudo ser insertado")
  END

  SELE tbl_lin
  Skip
Enddo


De antemano Gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 270
Joined: Fri Nov 11, 2005 07:39 PM
Otra de ADO (Puro) Fechas
Posted: Fri Jan 11, 2008 10:14 PM
Leandro:

Recuerdo que RF, hablo de un tipo de dato datetime que tiene el xharbour. A lo mejor eso te puede ayudar.

Saludos,
Juan
==> Pasando a FWH16.04 + Harbour32 + BCC70 + PellesC
=> Abandonando FWH 13.7 + xHarbour + BCC582
http://www.mitaller.cl
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Otra de ADO (Puro) Fechas
Posted: Fri Jan 11, 2008 10:51 PM

Leandro amigo,

lamento decirte que ado no tiene soporte para fecha y hora (datetime)

yo ya estuve batallando con una tabla de acces,

sin llegar a ninguna solucion,

o puede ser el compilador xharbour el que no lo soporta,

pero no hay una solucion de momento,

los gurues en este foro no habla mucho sobre este tema..

realmente no sabemos si el el problema es de ADO o xhb.

saludos..

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 158
Joined: Tue Oct 11, 2005 03:10 PM
Otra de ADO (Puro) Fechas
Posted: Fri Jan 11, 2008 11:20 PM

Leandro:

Convierte la fecha a modo caracter, antes de actualizar la Tabla:

 cFecha := "'"+StrZero( Year( Date() ),4 )+;
                 StrZero( Month( Date() ),2 )+;
                 StrZero( Day( Date() ),2 )+"'"

Encierra la cFecha con la "apostrofes" ( NO DOBLES COMILLAS ), y enviala a grabar.

Tiene que grabar la fecha correcta, y los datos de la hora en 00:00:.....

Saludos

Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Otra de ADO (Puro) Fechas
Posted: Sat Jan 12, 2008 12:58 AM

Hazlo asi:

cFecha := DTOC2(Date()) + " " + SUBSTR(TIME(),1,8)

....
cInsert := "INSERT INTO prueba SET fecha = '" + cFechaHora + "'"
oCon:Execute(cInsertl)
....
...
..
.

Function DTOC2(dDate) // Harbour to MySQL
local cDate
SET (_SET_DATEFORMAT, "yyyy-mm-dd")
If EMPTY(dDate)
cDate := " - - " // aqui son 4 espacion para el año
Else
cDate := DTOC(dDate)
EndIf
Set( _SET_DATEFORMAT, "dd/mm/yyyy" )
Return(cDate)

Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Otra de ADO (Puro) Fechas
Posted: Sat Jan 12, 2008 10:02 PM

Gracias a todos por las respuestas y por la ayuda prestada.

Viejo Willi :lol:

Era lo que necesitaba. :D

Muchas Gracias

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]

Continue the discussion