babak23
دوشنبه 24 دی 1386, 10:44 صبح
تفریق تاریخ چگونه می باشد؟
در یک برنامه من نیاز دارم که قبل از اینکه کاربر رکوردی را وارد دیتابیس کند یک جستجو انجام دهم و رکورد های روز قبل را بدست آورم و در صورت پیدانشدن این رکورد به کاربر پیامی مبتنی بر هشدار بدهم. من برای بدست آوردن روز قبل این الگوریتم را نوشتم.
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()) + " ' ";
}
}
آیا راه حل ساده تری هم وجود داره؟
آیا این کد درست هست و بعدها دچار مشکل نمیشود؟
شما چه راه حلی را پیشنهاد می کنید؟
در یک برنامه من نیاز دارم که قبل از اینکه کاربر رکوردی را وارد دیتابیس کند یک جستجو انجام دهم و رکورد های روز قبل را بدست آورم و در صورت پیدانشدن این رکورد به کاربر پیامی مبتنی بر هشدار بدهم. من برای بدست آوردن روز قبل این الگوریتم را نوشتم.
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()) + " ' ";
}
}
آیا راه حل ساده تری هم وجود داره؟
آیا این کد درست هست و بعدها دچار مشکل نمیشود؟
شما چه راه حلی را پیشنهاد می کنید؟