Fecha en procedimiento almacenado.

15/04/2007 - 07:59 por Tomas | Informe spam
Hola,

Quiero pasar una fecha a un parametro de un procedimiento almacenado, como
ejemplo, lo hago de la siguiente forma:

command.Parameters.Add("@Fecha", SqlDbType.SmallDateTime).Value =
Fecha.ToShortDateString();

Donde Fecha es un objeto del tipo System.DateTime y command un objeto del
tipo System.Data.SqlClient.SqlCommand.

No hay error al compilar, pero al ejecutarse, devuelve un mensaje de error:
"Linea 1: sintaxis incorrecta cerca de 'NombreProcedimiento'. La base de
datos es SQL Server 2000.

¿Alguien me puede dar una pista de la sintaxis correcta para pasar una fecha
a un parametro de un procedimiento almacenado?.

Gracias por anticipado.

Tomas.
 

Leer las respuestas

#1 Alberto Poblacion
15/04/2007 - 08:28 | Informe spam
"Tomas" wrote in message
news:
Quiero pasar una fecha a un parametro de un procedimiento almacenado, como
ejemplo, lo hago de la siguiente forma:

command.Parameters.Add("@Fecha", SqlDbType.SmallDateTime).Value =
Fecha.ToShortDateString();

Donde Fecha es un objeto del tipo System.DateTime y command un objeto del
tipo System.Data.SqlClient.SqlCommand.

No hay error al compilar, pero al ejecutarse, devuelve un mensaje de
error: "Linea 1: sintaxis incorrecta cerca de 'NombreProcedimiento'. La
base de datos es SQL Server 2000.

¿Alguien me puede dar una pista de la sintaxis correcta para pasar una
fecha a un parametro de un procedimiento almacenado?.



El parámetro es de tipo fecha, pero le estás pasando un string:
Fecha.ToShortDateString();
Si declaras un parámetro del tipo SqlDbType.SmallDateTime, tienes que
pasarle un valor de tipo fecha para que funcione correctamete:

command.Parameters.Add("@Fecha", SqlDbType.SmallDateTime).Value=Fecha;

O bien, si lo quieres más breve:

command.Parameters.AddWithValue("@Fecha", Fecha);

Donde la variable Fecha tiene que ser, claro está, de tipo DateTime.

Preguntas similares