Problemas al insertar sobre un campo datetime

15/04/2004 - 16:12 por Jesus Villamizar | Informe spam
Saludos,

en esta ocasión quiero compartir la siguiente situación,

desarrollando un sistema estoy pasando un valor fecha con
formato (dd/mm/yyyy) a un campo de una base de datos que
es de tipo datetime, y le pongo el ejemplo, Quiero
insertar sobre ese campo la el valor de la fecha
01/04/2004 (es 1 de abril del 2004), para que haga la
respectiva validación y pueda accesar tal valor al campo
de la base de datos, hago la siguiente sintaxys:
<%
fecha = request("fecha")
fecha1 = formatDateTime(fecha,2)
%>

tal variable fecha1 es la que asigno en la sintaxys del
query sql e inserta el valor en el campo, el problema está
en que cuando hago la consulta a ese registro y veo el
valor de la fecha, noto que la fecha se ingresó en un
formato no esperado como:
2004/01/04, es decir en formato yyyy/dd/mmm, cuando lo
indicado es: yyyy/mm/dd.

Alguien pudiera explicarme tal situación

Gracias de Antemano...

Preguntas similare

Leer las respuestas

#1 Franco Figún
15/04/2004 - 16:26 | Informe spam
Yo particularmente, cuando tenia que usar asp e insertar datos en una bd,
dejaba el valor predeterminado de la bd en ingles, para no tener problemas y
usaba esta funcion en cada insercion:

<%
Function convertir_fecha(ByVal fecha)
convertir_fecha = Right(Day(fecha), 2) & "/" & _
Right(Month(fecha), 2) & "/" & _
Year(fecha)
End Function
%>


"Jesus Villamizar" wrote in message
news:1872901c422f3$b2c44120$
Saludos,

en esta ocasión quiero compartir la siguiente situación,

desarrollando un sistema estoy pasando un valor fecha con
formato (dd/mm/yyyy) a un campo de una base de datos que
es de tipo datetime, y le pongo el ejemplo, Quiero
insertar sobre ese campo la el valor de la fecha
01/04/2004 (es 1 de abril del 2004), para que haga la
respectiva validación y pueda accesar tal valor al campo
de la base de datos, hago la siguiente sintaxys:
<%
fecha = request("fecha")
fecha1 = formatDateTime(fecha,2)
%>

tal variable fecha1 es la que asigno en la sintaxys del
query sql e inserta el valor en el campo, el problema está
en que cuando hago la consulta a ese registro y veo el
valor de la fecha, noto que la fecha se ingresó en un
formato no esperado como:
2004/01/04, es decir en formato yyyy/dd/mmm, cuando lo
indicado es: yyyy/mm/dd.

Alguien pudiera explicarme tal situación

Gracias de Antemano...
Respuesta Responder a este mensaje
#2 Jesus Villamizar
15/04/2004 - 17:05 | Informe spam
Amigo gracias,

Yo tambien tengo predeterminada la bd en ingles, ahora
probé tal función que tu escribiste con el valor
01/04/2004 y con otros y me lo está ingresando como
01/01/1900.

A que se debe?...

Yo particularmente, cuando tenia que usar asp e insertar


datos en una bd,
dejaba el valor predeterminado de la bd en ingles, para


no tener problemas y
usaba esta funcion en cada insercion:

<%
Function convertir_fecha(ByVal fecha)
convertir_fecha = Right(Day(fecha), 2) & "/" & _
Right(Month(fecha), 2)


& "/" & _
Year(fecha)
End Function
%>


"Jesus Villamizar"


wrote in message
news:1872901c422f3$b2c44120$
Saludos,

en esta ocasión quiero compartir la siguiente situación,

desarrollando un sistema estoy pasando un valor fecha con
formato (dd/mm/yyyy) a un campo de una base de datos que
es de tipo datetime, y le pongo el ejemplo, Quiero
insertar sobre ese campo la el valor de la fecha
01/04/2004 (es 1 de abril del 2004), para que haga la
respectiva validación y pueda accesar tal valor al campo
de la base de datos, hago la siguiente sintaxys:
<%
fecha = request("fecha")
fecha1 = formatDateTime(fecha,2)
%>

tal variable fecha1 es la que asigno en la sintaxys del
query sql e inserta el valor en el campo, el problema está
en que cuando hago la consulta a ese registro y veo el
valor de la fecha, noto que la fecha se ingresó en un
formato no esperado como:
2004/01/04, es decir en formato yyyy/dd/mmm, cuando lo
indicado es: yyyy/mm/dd.

Alguien pudiera explicarme tal situación

Gracias de Antemano...


.

Respuesta Responder a este mensaje
#3 Jesus Villamizar
15/04/2004 - 17:49 | Informe spam
el problema está en que manejador sql_server tiene la
descripción datetime y no date..


En una BD los DATETIME se almacenan en el formato que
indicas asi que es normal que esten asi.
si no queres ese formato seria mejor usar un DATE, no un
DATETIME, ya que este ultimo es por lo regular para
guardar fecha y hora, por eso lo del formato.

Saludos,

en esta ocasión quiero compartir la siguiente situación,

desarrollando un sistema estoy pasando un valor fecha




con
formato (dd/mm/yyyy) a un campo de una base de datos que
es de tipo datetime, y le pongo el ejemplo, Quiero
insertar sobre ese campo la el valor de la fecha
01/04/2004 (es 1 de abril del 2004), para que haga la
respectiva validación y pueda accesar tal valor al campo
de la base de datos, hago la siguiente sintaxys:
<%
fecha = request("fecha")
fecha1 = formatDateTime(fecha,2)
%>

tal variable fecha1 es la que asigno en la sintaxys del
query sql e inserta el valor en el campo, el problema


está
en que cuando hago la consulta a ese registro y veo el
valor de la fecha, noto que la fecha se ingresó en un
formato no esperado como:
2004/01/04, es decir en formato yyyy/dd/mmm, cuando lo
indicado es: yyyy/mm/dd.

Alguien pudiera explicarme tal situación

Gracias de Antemano...
.



.

Respuesta Responder a este mensaje
#4 Sashka
15/04/2004 - 19:43 | Informe spam
No creo que el problema esté en el formato del campo... más bien debe estar
en la forma en que guardas el dato y luego lo solicitas
Prueba algo así... (lo he hecho con la base Northwind)

<%
fecha = "30/09/1959"
fecha1 = year(cdate(fecha))& "/" & month(cdate(fecha))& "/" &
day(cdate(fecha))
strProvider = "tu cadena de conexion"
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
objConn.Open strProvider
SQL = "INSERT INTO Employees (LastName, FirstName, BirthDate) VALUES
('alguien', 'algo', CONVERT(DATETIME, '" &fecha1& "', 102))"
objConn.execute SQL
SQL= "Select * from Employees where BirthDate = CONVERT(DATETIME, '"
&fecha1& "', 102)"
%>

Te devolverá el registro insertado

Sashka
MS MVP Access

"Jesus Villamizar" escribió en el
mensaje news:1d07601c42301$359a9880$
el problema está en que manejador sql_server tiene la
descripción datetime y no date..


En una BD los DATETIME se almacenan en el formato que
indicas asi que es normal que esten asi.
si no queres ese formato seria mejor usar un DATE, no un
DATETIME, ya que este ultimo es por lo regular para
guardar fecha y hora, por eso lo del formato.

Saludos,

en esta ocasión quiero compartir la siguiente situación,

desarrollando un sistema estoy pasando un valor fecha




con
formato (dd/mm/yyyy) a un campo de una base de datos que
es de tipo datetime, y le pongo el ejemplo, Quiero
insertar sobre ese campo la el valor de la fecha
01/04/2004 (es 1 de abril del 2004), para que haga la
respectiva validación y pueda accesar tal valor al campo
de la base de datos, hago la siguiente sintaxys:
<%
fecha = request("fecha")
fecha1 = formatDateTime(fecha,2)
%>

tal variable fecha1 es la que asigno en la sintaxys del
query sql e inserta el valor en el campo, el problema


está
en que cuando hago la consulta a ese registro y veo el
valor de la fecha, noto que la fecha se ingresó en un
formato no esperado como:
2004/01/04, es decir en formato yyyy/dd/mmm, cuando lo
indicado es: yyyy/mm/dd.

Alguien pudiera explicarme tal situación

Gracias de Antemano...
.



.

Respuesta Responder a este mensaje
#5 Jesus Villamizar
15/04/2004 - 20:23 | Informe spam
lo intenté y con una fecha como 01/04/2004, la ingresa
como 04/01/2004, y en cambio la fecha de 30/04/2004 la
ingresa tal cual como la debe ingresar... sigue el mismo
problema

No creo que el problema esté en el formato del campo...


más bien debe estar
en la forma en que guardas el dato y luego lo


solicitas
Prueba algo así... (lo he hecho con la base Northwind)

<%
fecha = "30/09/1959"
fecha1 = year(cdate(fecha))& "/" & month(cdate(fecha))


& "/" &
day(cdate(fecha))
strProvider = "tu cadena de conexion"
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
objConn.Open strProvider
SQL = "INSERT INTO Employees (LastName, FirstName,


BirthDate) VALUES
('alguien', 'algo', CONVERT(DATETIME, '" &fecha1& "',


102))"
objConn.execute SQL
SQL= "Select * from Employees where BirthDate = CONVERT


(DATETIME, '"
&fecha1& "', 102)"
%>

Te devolverá el registro insertado

Sashka
MS MVP Access

"Jesus Villamizar"


escribió en el
mensaje news:1d07601c42301$359a9880$
el problema está en que manejador sql_server tiene la
descripción datetime y no date..


En una BD los DATETIME se almacenan en el formato que
indicas asi que es normal que esten asi.
si no queres ese formato seria mejor usar un DATE, no un
DATETIME, ya que este ultimo es por lo regular para
guardar fecha y hora, por eso lo del formato.

Saludos,

en esta ocasión quiero compartir la siguiente situación,

desarrollando un sistema estoy pasando un valor fecha




con
formato (dd/mm/yyyy) a un campo de una base de datos que
es de tipo datetime, y le pongo el ejemplo, Quiero
insertar sobre ese campo la el valor de la fecha
01/04/2004 (es 1 de abril del 2004), para que haga la
respectiva validación y pueda accesar tal valor al campo
de la base de datos, hago la siguiente sintaxys:
<%
fecha = request("fecha")
fecha1 = formatDateTime(fecha,2)
%>

tal variable fecha1 es la que asigno en la sintaxys del
query sql e inserta el valor en el campo, el problema


está
en que cuando hago la consulta a ese registro y veo el
valor de la fecha, noto que la fecha se ingresó en un
formato no esperado como:
2004/01/04, es decir en formato yyyy/dd/mmm, cuando lo
indicado es: yyyy/mm/dd.

Alguien pudiera explicarme tal situación

Gracias de Antemano...
.



.





.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida