none
Problema web con Visual Studio y SQLServer en servidor RRS feed

  • Pregunta

  • Hola,

     

    tengo una aplicación web desarrollada en Visual Studio 2005 con C# que funciona perfectamente al ejecutarla desde el propio VS. El problema es una sentencia SQL que ejecuta una subconsulta y que al ejecutarla en el servidor me falla. La sentencia es la siguiente:

     

    SELECT TARJETAS.Id_Tarjeta, FechaAlta, FechaBaja FROM TARJETAS WHERE TARJETAS.Id_Tarjeta NOT IN (SELECT Id_Tarjeta FROM TARJETAS_ASIGNADAS WHERE FechaBaja = '12/31/2999')

     

    Al recuperar los datos con SQLDATAReader.GetDateTIme(i), me da un error de conversión de datos, dice que no puede convertir el dato que recupera en la base de datos de char a datetime, el problema es que el dato fechas que recupera es 01/01/0001 (mas la hora a ceros), dato que no se encuentra en la base de datos. Este problema he visto que es debido a ejecutar la aplicación en el servidor IIS porque no debe aceptar subconsultas.

     

    El código es:

     

    String sql = "SELECT TARJETAS.Id_Tarjeta, FechaAlta, FechaBaja FROM TARJETAS WHERE TARJETAS.Id_Tarjeta NOT IN (SELECT Id_Tarjeta FROM TARJETAS_ASIGNADAS WHERE FechaBaja = '12/31/2999')"

     

    SqlCommand command = new SqlCommand(sql, conexion);

    SQLDataReader reader = command.ExecuteReader();

     

    List<Tarjeta> DataTarjAsig = new List<Tarjeta>();

    Tarjeta RegTarjAsig = null;

     

    while (reader.Read())

    {

    RegTarjAsig = new Tarjeta(reader.GetString(0), reader.GetDateTime(1), reader.GetDateTime(2));

    DataTarjAsig.Add(RegTarjAsig);

    }

     

    ¿Alguien me puede echar una mano?

     

    Muchas gracias,

     

    Jose

    viernes, 24 de octubre de 2008 7:35

Todas las respuestas