que tienen una mesa y las fecha-hora en que se encuentran en el formato:¿Cómo pasar datetime de C# a sql correctamente?
2011-07-01 15:17:33.357
que estoy tomando aC# DateTime cuando hago un .ToString() en el objeto que estoy recibiendo un DateTime en el formato :
04/07/2011 06:06:17
me pregunto cómo me pase correctamente el DateTime correcta a través porque cuando corro el SQL que está en nuestro código no funciona (es decir, seleccionar la correcta DateTime). No puedo usar SQL profiler.
Este es el código:
//looks to if a user has had any activity in within the last time specified
public bool IsUserActivitySinceSuppliedTime(int userId, DateTime since)
{
//get everything since the datetime specified [usually 5 hours as this is
//how long the session lasts for
string sql = "SELECT * FROM tbl_webLogging WHERE userid = @userid AND DateAdded > @sinceDateTime";
SqlParameter sinceDateTimeParam = new SqlParameter("@sinceDateTime", SqlDbType.DateTime);
sinceDateTimeParam.Value = since;
SqlCommand command = new SqlCommand(sql);
command.Parameters.AddWithValue("@userid", userId);
command.Parameters.Add(sinceDateTimeParam);
using (SqlDataReader DataReader = GetDataReader(command))
{
if (DataReader.HasRows)
{
return true;
}
else
{
return false;
}
}
}
ACTUALIZACIÓN *******************
He corrido lo siguiente en los datos:
SELECT * FROM tbl_webLogging
WHERE userid = 1
AND DateAdded > '2011-07-01 07:19:58.000'
Y
SELECT * FROM tbl_webLogging
WHERE userid = 1
AND DateAdded > '04/07/2011 07:19:58'
Uno vuelve 53 reco rds el otro devuelve 69 registros. ¿Cómo puede ser esto? Y cuando paso el DateTime (04/07/2011 07:19:58) de C# a SQL ¡no aparecen los registros!
¿Cuál es el tipo de la columna "Fecha de inclusión" en su tabla? ¿Es DateTime? O algún tipo de varchar? –
¿Puedes confirmar que 'DateAdded' tiene tipo' datetime', no algo como '[n] varchar (x)'? –
Entonces, ¿por qué C# datetime regresa con 0 registros? (el depurador dice que es '07/07/2011 07:19:58 ') @Maras el tipo de datos es datetime .... – Exitos