Aynen olarak başka herhangi bir parametre ... tabii ki size veri-giriş yapıyoruz bağlıdır, ama biz bir SqlCommand
sadece adlandırılmış parametreye başvurmak istiyorum varsayarsak (@fromDate
/@toDate
) yani ben kullanıyorum
int count = db.Users.Count(user => user.LastSeen>=start && user.LastSeen<end);
, sadece sorguda kullanmak istiyorum vb LINQ ile
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();
}
: TSQL içinde ve komuta (.Value = theDate
ile) SqlParameter
s adında ekleyin basit co Sadece basit tutmak için örneklerde yok; Açıkçası bir VIEW
vb çok gelen SELECT blah
...
Pınarı'na parametre türünü ayarlayabilirsiniz, O ratherly bir şaşkın durum: Ben bir rapor yapmak istiyorum Eğer bir kullanıcı FromCreateDate için bir tarih girdiyse, o zaman ben createDate sütunuyla karşılaştırırsam, o zaman ben createdate sütununu sadece ToCreateDate değeriyle karşılaştırırım (yani <= ToCreateDate) – odiseh
o zaman şöyle bir şeye ihtiyacınız var: 'WHERE createDate> = @ fromDate AND (@toDate IS NULL OR createDate <= @toDate) '. –