Dokładnie tak samo, jak każdy inny parametr ... oczywiście to zależy od tego, jak robisz swój dostępu do danych, ale jeśli założymy SqlCommand
chcesz tylko odnieść do określonego parametru (@fromDate
/@toDate
) w TSQL i dodać nazwane SqlParameter
s (z .Value = theDate
) z poleceniem:
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();
}
z LINQ etc chcesz po prostu używać go w zapytaniu, tj
int count = db.Users.Count(user => user.LastSeen>=start && user.LastSeen<end);
używam prosta współpraca w przykładach, aby zachować prostotę; oczywiście można SELECT blah
od A VIEW
etc zbyt ...
dobrze, to ratherly zaskoczony sytuacja: Chciałbym, aby raport w sposób, że jeśli mój użytkownik wprowadził datę FromCreateDate, to porównuję ją do kolumny createDate, jeśli nie, to porównuję kolumnę createate tylko z wartością ToCreateDate (tj. <= ToCreateDate) – odiseh
, a następnie potrzebujesz czegoś takiego: 'WHERE createDate> = @ fromDate AND (@toDate IS NULL OR createDate <= @toDate) '. –