PDA

View Full Version : مبتدی: فیلتر کردن بین دو تاریخ



vbiman
دوشنبه 04 مهر 1390, 11:11 صبح
سلام
من می خوام داده ها بین دو تاریخ مشخص فیلتر بشه اما به این دستوری که نوشتم خطا میگیره میشه ببینید کجا اشتباه کردم ؟ یه جورایی معادل دستور Between در SQL هستش .
string d1, d2;
d1 = mktxDate1.Text;
d2 = mktxDate2.Text;
var Query = from s in db.ExOutputs where s.OutputDate >= d1 && s.OutputDate <= d2 select s;

Program.net
دوشنبه 04 مهر 1390, 13:38 عصر
var searchQuery = from work in datacontext
where work.Date.Compare(txtdate1.text)>=0 && work.Date.Compare(txtdate2.tex)<=0
select work;

mahdioo12194
چهارشنبه 06 مهر 1390, 12:21 عصر
اگه بخواهیم بین دو عدد که در جدولمون است مقادیر رو فیلتر کنیم باید چه کار کنیم من کد بالا رو استفاده کردم جواب نداد!

Program.net
چهارشنبه 06 مهر 1390, 13:36 عصر
اون کدی که نوشتم واسه مقایسه string هستش
واسه مقادیر عددی از علامت ><= استفاده کنید
Compato() هم دیگه لازم نداره

mahdioo12194
چهارشنبه 06 مهر 1390, 16:20 عصر
می شه دقیقا کدشو بنویسید!

relax_cp
پنج شنبه 14 مهر 1390, 14:45 عصر
سلام
من می خوام داده ها بین دو تاریخ مشخص فیلتر بشه اما به این دستوری که نوشتم خطا میگیره میشه ببینید کجا اشتباه کردم ؟ یه جورایی معادل دستور Between در SQL هستش .
string d1, d2;
d1 = mktxDate1.Text;
d2 = mktxDate2.Text;
var Query = from s in db.ExOutputs where s.OutputDate >= d1 && s.OutputDate <= d2 select s;

اگه فیلد s.OutputDate از نوع دیتا هست خوب مشخص هست که شما نمیتونید اون رو با یک استرینگ مقایسه کنید. پس باید اول مقدار d1 رو به دیتاتایم تبدیل کنید بعد مقایسه رو انجام بدید به شکل زیر البته باید توجه داشته باشید که مقدار d1 درست وارد بشه:

DataTime d1, d2;
d1 = Convert.ToDateTime(mktxDate1.Text);
d2 = Convert.ToDateTime(mktxDate2.Text);
var Query = from s in db.ExOutputs where s.OutputDate.Date >= d1.Date && s.OutputDate.Date <= d2.Date select s;



که البته میتونی .Date رو نذارید.
من خودم از این روش استفاده میکنم.