من خودم به این صورت گذاشتم که هر بار برنامه Run میشه تاریخ روز رو می گیره بعد با فیلد تاریخ آخرین به روز رسانی جدول کوتاه مدت مقایسه می کنه اگر ... Update می کنه ... اما فکر نکنم اینطوری زیاد جالب باشه ....
کد مبتدیانستا ..... اگه اشکالاتشم بگی که دیگه ....
string Date_Temp = Persian.Miladi2Shamsi(DateTime.Now);
string[] Numbers_Date_Temp = Date_Temp.Split('/');
int Year_Date = Convert.ToInt16(Numbers_Date_Temp[0]);
int Munth_Date = Convert.ToInt16(Numbers_Date_Temp[1]);
int Day_Date = Convert.ToInt16(Numbers_Date_Temp[2]);
con.ConnectionString = "SERVER = .;DATABASE = Seporde_Kutah_Modat;INTEGRATED SECURITY = true";
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT Number,Tarikhe_akh_b,Mande FROM Kutah_Modat";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
con.Open();
DataSet ds = new DataSet();
da.Fill(ds, "Kutah_Modat");
dtgv.DataSource = ds;
dtgv.DataMember = "Kutah_Modat";
for (int i = 0; i < (dtgv.Rows.Count - 1); i++)
{
string Number_Of_Customer = dtgv.Rows[i].Cells[0].Value.ToString();
string Temp_Date_Database = dtgv.Rows[i].Cells[1].Value.ToString();
Int64 Mablagh_kutah_m_ghabli = Convert.ToInt64(dtgv.Rows[i].Cells[2].Value.ToString());
string[] Numbers_Temp_Date_Database = Temp_Date_Database.Split('/');
int Year = Convert.ToInt16(Numbers_Temp_Date_Database[0]);
int Munth = Convert.ToInt16(Numbers_Temp_Date_Database[1]);
int Day = Convert.ToInt16(Numbers_Temp_Date_Database[2]);
int Diffrence_Munth = Munth_Date - Munth;
cmd.CommandText = "SELECT Mande FROM Boland_Modat";
da.SelectCommand = cmd;
da.Fill(ds, "Boland_Modat");
dtgv2.DataSource = ds;
dtgv2.DataMember = "Boland_Modat";
if (Year_Date == Year && Day_Date == Day && Diffrence_Munth == 1)
{
Int64 Mablagh_kutah_m_baedi = Convert.ToInt64(dtgv2.Rows[i].Cells[0].Value.ToString());
Mablagh_kutah_m_baedi *= 21;
Mablagh_kutah_m_baedi /= 100;
Mablagh_kutah_m_ghabli += Mablagh_kutah_m_baedi;
cmd.CommandText = "UPDATE Kutah_Modat SET Tarikhe_akh_b=@Tarikhe_akh_b,Mande=@Mande wHERE Number=@Number";
cmd.Parameters.AddWithValue("@Tarikhe_akh_b", Date_Temp.Trim());
cmd.Parameters.AddWithValue("@Mande",Mablagh_kutah _m_ghabli.ToString());
cmd.Parameters.AddWithValue("@Number", Number_Of_Customer);
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
}
con.Close();