PDA

View Full Version : سوال: مقایسه تاریخ روز با یک تاریخ در جدول دیتابیس(EF)



Mansoor92
یک شنبه 10 شهریور 1392, 18:44 عصر
سلام دوستان

من میخوام یک تاریخ رو که بصورت int در جدول دیتابیس ذخیره شده را با تاریخ روز(امروز) مقایسه کنم که اگر تاریخ موجود درجدول از تاریخ روز کمتر بود ردیف مربوط به اون فیلد رو در گرید ویوو به من نمایش بده

من کد زیر رو نوشتم اما هیچ فیلدی رو برنمیگردونه...
مثلا تاریخ وارد شده در دیتابیس 13920602 هست و تاریخ امروز 13920610 هست و چون اولی از دومی کوچکتر هست اون رو باید توی گریدویوو نمایش بده که نمایش نمیده...

ممنون میشم جواب بدید مشکل کد چیه....

public int s;
private void button1_Click(object sender, EventArgs e)
{
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
string Date1 = pc.GetYear(DateTime.Now).ToString() +
pc.GetMonth(DateTime.Now).ToString() +
pc.GetDayOfMonth(DateTime.Now).ToString();
s = Int32.Parse(Date1);
var query = from p in database.Amanat
where p.TarikhBargasht < s
select p;
dataGridView1.DataSource = query.ToList();
}

Mansoor92
دوشنبه 11 شهریور 1392, 10:43 صبح
دوستان کسی نمیتونه به من کمک کنه....

rezaei_y
دوشنبه 11 شهریور 1392, 12:13 عصر
دوست عزیز کدت درست ولی ماه و روز رو اگه یک رقمی باشه صفر رو قبلش اضافه نمیکنه از ToString("00") استفاده کن

public int s;
private void button1_Click(object sender, EventArgs e)
{
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
string Date1 = pc.GetYear(DateTime.Now).ToString() +
pc.GetMonth(DateTime.Now).ToString("00") +
pc.GetDayOfMonth(DateTime.Now).ToString("00");
s = Int32.Parse(Date1);
var query = from p in database.Amanat
where p.TarikhBargasht < s
select p;
dataGridView1.DataSource = query.ToList();
}

Direlap
دوشنبه 11 شهریور 1392, 14:42 عصر
کد شما از لحاظ دستوری مشکلی نداره و من خودم تستش کردم ولی یه مشکلی که هست اینه که دیتاگرید ویو بعضی اوقات وقتی سورسش رو کوئری لینک در نظر میگیریم نشون نمیده.
من برای حل این مشکل از این روش استفاده کردم :



DataTable dt = new DataTable();
dt.Columns.Add("header");
foreach (var item in query)
{
dt.Rows.Add(item);
}
dataGridView1.DataSource = dt;


نمیدونم باگه یا من نتونستم باهاش کار کنم ولی به این روش همیشه اطلاعات توی گرید ویو نشون داده میشن.
موفق باشید