Exactamente lo mismo que lo haría con cualquier otro parámetro ... por supuesto que depende de lo que está haciendo sus datos de acceso, pero si suponemos una SqlCommand
que acababas referencia a un parámetro llamado (@fromDate
/@toDate
) en el TSQL, y añadir nombrado SqlParameter
s (con .Value = theDate
) al comando:
DateTime end = DateTime.Today, start = end.AddDays(-7); // the last week
using (var conn = new SqlConnection(connectionString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.Parameters.AddWithValue("@from", start); // fine for DateTime; for strings, use more explicit param
cmd.Parameters.AddWithValue("@to", end); // construction to avoid lots of different-length plans
cmd.CommandText = "SELECT COUNT(1) FROM [Users] WHERE LastSeen >= @from AND LastSeen < @to";
int count = (int) cmd.ExecuteScalar();
}
con LINQ, etc que le acaba de utilizar en la consulta, es decir
int count = db.Users.Count(user => user.LastSeen>=start && user.LastSeen<end);
estoy usando una simple co unt en los ejemplos solo para mantenerlo simple; Obviamente se puede SELECT blah
de un etc ... VIEW
demasiado
bueno, es ratherly una situación de desconcierto: Me gustaría hacer un informe en de forma que si mi usuario ingresó una fecha para FromCreateDate, entonces lo comparo con la columna createDate; si no, comparo la columna createdate solo con el valor ToCreateDate (es decir, <= ToCreateDate) – odiseh
, entonces necesita algo como: 'WHERE createDate> = @ fromDate AND (@toDate IS NULL O createDate <= @toDate) '. –