Hola a todos,
Tengo un pequeño problema y supongo que no se encontrar la solucion.
Tengo unos datos en una Base de datos MS SQL en formato SmallDateTime.
Algunos estan llenos con fecha y otros contienen NULL.
Cuando intento recuperar esos datos de la Base de datos mediante un
StoredProcedure (el cual funciona bien, testeado con el Query Analizer), me
da problemas con los valores null al intentar ponerlos en una variable de
tipo DateTime.
El proceso de recuperacion de datos es este: (Trabajo en C# y Winforms)
public static ArrayList ListarInformesPorCliente(string IdCliente)
{
ArrayList arData = new ArrayList();
SqlCommand cmdInforme= new SqlCommand();
cmdInforme.Connection = Sistema.conexionLocal;
cmdInforme.CommandType = CommandType.StoredProcedure;
cmdInforme.CommandText = "ListarInformesPorCliente";
SqlParameter myParam;
myParam = cmdInforme.Parameters.Add("@IdCliente",SqlDbType.Char,16);
myParam.Value = IdCliente;
SqlDataAdapter daInforme = new SqlDataAdapter(cmdInforme);
DataSet dsInforme = new DataSet();
daInforme.Fill(dsInforme,"Informes");
for (int i = 0; i<dsInforme.Tables["Informes"].Rows.Count; i++)
{
Informe cItem = new Informe();
cItem.IdInforme dsInforme.Tables["Informes"].Rows[i]["inf_IdInforme"].ToString();
cItem.FechaInforme System.DateTime.Parse(dsInforme.Tables["Informes"].Rows[i]["inf_FechaInforme
"].ToString());
arData.Add(cItem);
}
cmdInforme.Dispose();
daInforme.Dispose();
dsInforme.Dispose();
return arData;
}
Donde cItem.FechaInforme es del tipo DateTime. He solucionado esto por parte
del SQL donde pongo la opcion "ISNULL(FechaInforme,01/01/2000)", pero esto
solo me sirve para que no me de error, pero los datos no son buenos, ya que
se muestra 01/01/2000 cuando deberia mostrarse NADA. Alguna forma de
conseguir que un valor NULL no de error al asociarlo a una variable
DateTime?
Gracias!
Saludos
Oriol.
Leer las respuestas