تفریق تاریخ چگونه می باشد؟
در یک برنامه من نیاز دارم که قبل از اینکه کاربر رکوردی را وارد دیتابیس کند یک جستجو انجام دهم و رکورد های روز قبل را بدست آورم و در صورت پیدانشدن این رکورد به کاربر پیامی مبتنی بر هشدار بدهم. من برای بدست آوردن روز قبل این الگوریتم را نوشتم.
if (day != 1)
{
day = day - 1;
queryString = "SELECT molder_r , molder_m , molder_l , total_total , total_agrade , total_bgrade , total_cgrade FROM product1 where day1=' " + day + " ' and month1=' " + month + " ' and year1=' " + year + " ' and index_shift=' " + Class1.index_Shift + " ' and index_nobat=' " + indexNobat + " ' and index_line=' " + int.Parse(comboBox1.SelectedValue.ToString()) + " ' ";
}
else
if (day == 1)
{
if (month <= 7)
{
if (month == 1)
{
day = 29;
month = 12;
year = year - 1;
queryString = "SELECT molder_r , molder_m , molder_l , total_total , total_agrade , total_bgrade , total_cgrade FROM product1 where day1=' " + day + " ' and month1=' " + month + " ' and year1=' " + year + " ' and index_shift=' " + Class1.index_Shift + " ' and index_nobat=' " + indexNobat + " ' and index_line=' " + int.Parse(comboBox1.SelectedValue.ToString()) + " ' ";
}
else
{
day = 31;
month = month - 1;
queryString = "SELECT molder_r , molder_m , molder_l , total_total , total_agrade , total_bgrade , total_cgrade FROM product1 where day1=' " + day + " ' and month1=' " + month + " ' and year1=' " + year + " ' and index_shift=' " + Class1.index_Shift + " ' and index_nobat=' " + indexNobat + " ' and index_line=' " + int.Parse(comboBox1.SelectedValue.ToString()) + " ' ";
}
}
else
{
day = 30;
month = month - 1;
queryString = "SELECT molder_r , molder_m , molder_l , total_total , total_agrade , total_bgrade , total_cgrade FROM product1 where day1=' " + day + " ' and month1=' " + month + " ' and year1=' " + year + " ' and index_shift=' " + Class1.index_Shift + " ' and index_nobat=' " + indexNobat + " ' and index_line=' " + int.Parse(comboBox1.SelectedValue.ToString()) + " ' ";
}
}
آیا راه حل ساده تری هم وجود داره؟
آیا این کد درست هست و بعدها دچار مشکل نمیشود؟
شما چه راه حلی را پیشنهاد می کنید؟