Problemas con fechas SQL

15/02/2006 - 13:45 por adpa | Informe spam
Hola

Como se crean las setencias sql para insertar fechas, por que yo en access
lo hacia así pero en SQL SERVER tengo entendido que no se pueden poner #

insert into Accesos ([fecha]) values (#9999/12/31 23:59:59#)
Como modifico en C# el formato de fecha para que me lo admita SQL SERVER

Gracias

Preguntas similare

Leer las respuestas

#1 A.Poblacion
15/02/2006 - 14:20 | Informe spam
"adpa" wrote in message
news:%
Como se crean las setencias sql para insertar fechas, por que yo en access
lo hacia así pero en SQL SERVER tengo entendido que no se pueden poner #

insert into Accesos ([fecha]) values (#9999/12/31 23:59:59#)
Como modifico en C# el formato de fecha para que me lo admita SQL SERVER



En Sql Server se ponen entre comillas: '1-1-2006'. El problema es saber
si pones dia-mes-año o mes-dia-año, porque tiene que coincidir con el
formato del servidor. Si no sabes qué formato de fechas va a tener el
servidor, lo puedes forzar con un SET al principio de la sentencia: "SET SET
DATEFORMAT DMY INSERT INTO Accesos(Fecha) VALUES('31-12-1999')".
Pero lo mejor de todo para no preocuparte del formato de las fechas, ni
de ningún otro dato (¿puntos o comas en los numéricos?), ni de los ataques
de inyección de Sql, es que utilices parámetros:

SqlCommand cmd = new SqlCommand("INSERT INTO Accesos(Fecha)
VALUES(@fecha), conexion";
cmd.Parameters.Add("@fecha", new DateTime(1999,31,12));
cmd.ExecuteNonQuery();
Respuesta Responder a este mensaje
#2 adpa
15/02/2006 - 15:19 | Informe spam
Hola

Gracias por tu respuesta pero es que tengo una libreria que me hace los
INSERT y todas esas cosas. Yo lo que tengo que hacer es mandarle la
sentencia SQL formada correctamente.

Gracias
Respuesta Responder a este mensaje
#3 Juan Carlos
15/02/2006 - 16:14 | Informe spam
Tambien puedes utilizar el formato estandar del sql server que es 'YYYYMMDD'
con eso no te importara que collation tengas en tu BD

Saludos


"A.Poblacion" escribió en
el mensaje news:
"adpa" wrote in message
news:%
Como se crean las setencias sql para insertar fechas, por que yo en
access
lo hacia así pero en SQL SERVER tengo entendido que no se pueden poner #

insert into Accesos ([fecha]) values (#9999/12/31 23:59:59#)
Como modifico en C# el formato de fecha para que me lo admita SQL SERVER



En Sql Server se ponen entre comillas: '1-1-2006'. El problema es saber
si pones dia-mes-año o mes-dia-año, porque tiene que coincidir con el
formato del servidor. Si no sabes qué formato de fechas va a tener el
servidor, lo puedes forzar con un SET al principio de la sentencia: "SET
SET DATEFORMAT DMY INSERT INTO Accesos(Fecha) VALUES('31-12-1999')".
Pero lo mejor de todo para no preocuparte del formato de las fechas, ni
de ningún otro dato (¿puntos o comas en los numéricos?), ni de los ataques
de inyección de Sql, es que utilices parámetros:

SqlCommand cmd = new SqlCommand("INSERT INTO Accesos(Fecha)
VALUES(@fecha), conexion";
cmd.Parameters.Add("@fecha", new DateTime(1999,31,12));
cmd.ExecuteNonQuery();



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida