Ahora una de Fechas con C#

02/02/2006 - 21:14 por Pablo Cesar | Informe spam
Tengo esta función (la que puse mas abajo), en la linea donde lleno el
DataSet con el DataAdapter me salta un error que dice...

The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value

Si yo inspecciono los valores de las variables FechaFiltroInicio y
FechaFiltroFin antes de armar el WhereStatement veo que estan bien, pero me
tira eso...alguna sugerencia?

public static DataSet ObtenerRegistrosPorUsuario(string NombreDeUsuario,
string Mes, string Anio, bool SoloTarde)
{
string WhereStatement = " where nombredeusuario = '" + NombreDeUsuario + "'
";
DateTime FechaFiltroInicio;
DateTime FechaFiltroFin;

if (Mes != "0")
{
FechaFiltroInicio = DateTime.Parse("/01/" + Mes + "/" + Anio);
FechaFiltroFin DateTime.Parse(Convert.ToString(System.DateTime.DaysInMonth(Convert.ToInt32(
Anio), Convert.ToInt32(Mes)),10) + "/" + Mes + "/" + Anio);
}
else
{
FechaFiltroInicio = DateTime.Parse("01/01/" + Anio);
FechaFiltroFin = DateTime.Parse("31/12/" + Anio);
}

WhereStatement = WhereStatement + " and fechayhora between '" +
Convert.ToString(FechaFiltroInicio,System.IFormatProvider) + "' and '" +
Convert.ToString(FechaFiltroFin, System.IFormatProvider + "'";

SqlConnection myConnection = new SqlConnection(myStringConnection);
SqlCommand myCommand = new SqlCommand("Select * from logueos " +
WhereStatement, myConnection);
SqlDataAdapter myDataAdapter = new SqlDataAdapter(myCommand);

DataSet myDataSet = new DataSet();
myCommand.Connection.Open();
myDataAdapter.SelectCommand = myCommand;

myDataAdapter.Fill(myDataSet);
myCommand.Connection.Close();

return myDataSet;
}


Sugerencias???

Pablo Cesharp

.::...Sabía Ud. que los Onas (Indios que habitaban Tierra del Fuego), en
épocas de hambre, antes que a los perros...se comían a las mujeres viejas!?
::.
 

Leer las respuestas

#1 Octavio Hernandez
03/02/2006 - 01:32 | Informe spam
Pablo,

En la línea:

FechaFiltroInicio = DateTime.Parse("/01/" + Mes + "/" + Anio);

te sobra un '/' al principio de la cadena, ¿no será eso?

Slds - Octavio

"Pablo Cesar" escribió en el mensaje
news:%
Tengo esta función (la que puse mas abajo), en la linea donde lleno el
DataSet con el DataAdapter me salta un error que dice...

The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value

Si yo inspecciono los valores de las variables FechaFiltroInicio y
FechaFiltroFin antes de armar el WhereStatement veo que estan bien, pero
me
tira eso...alguna sugerencia?

public static DataSet ObtenerRegistrosPorUsuario(string NombreDeUsuario,
string Mes, string Anio, bool SoloTarde)
{
string WhereStatement = " where nombredeusuario = '" + NombreDeUsuario +
"'
";
DateTime FechaFiltroInicio;
DateTime FechaFiltroFin;

if (Mes != "0")
{
FechaFiltroInicio = DateTime.Parse("/01/" + Mes + "/" + Anio);
FechaFiltroFin > DateTime.Parse(Convert.ToString(System.DateTime.DaysInMonth(Convert.ToInt32(
Anio), Convert.ToInt32(Mes)),10) + "/" + Mes + "/" + Anio);
}
else
{
FechaFiltroInicio = DateTime.Parse("01/01/" + Anio);
FechaFiltroFin = DateTime.Parse("31/12/" + Anio);
}

WhereStatement = WhereStatement + " and fechayhora between '" +
Convert.ToString(FechaFiltroInicio,System.IFormatProvider) + "' and '" +
Convert.ToString(FechaFiltroFin, System.IFormatProvider + "'";

SqlConnection myConnection = new SqlConnection(myStringConnection);
SqlCommand myCommand = new SqlCommand("Select * from logueos " +
WhereStatement, myConnection);
SqlDataAdapter myDataAdapter = new SqlDataAdapter(myCommand);

DataSet myDataSet = new DataSet();
myCommand.Connection.Open();
myDataAdapter.SelectCommand = myCommand;

myDataAdapter.Fill(myDataSet);
myCommand.Connection.Close();

return myDataSet;
}


Sugerencias???

Pablo Cesharp

.::...Sabía Ud. que los Onas (Indios que habitaban Tierra del Fuego),
en
épocas de hambre, antes que a los perros...se comían a las mujeres
viejas!?
::.


Preguntas similares