Member 11848664 Ответов: 2

Мне нужно увеличить значение текстового поля при достижении текущей даты


мне нужно увеличить значение текстового поля при достижении текущей даты...
у меня есть запрос он отлично работает но я не знаю где его использовать потому что когда я использую этот запрос на button....it всегда увеличивайте значение, когда я нажимаю эту кнопку..Мне нужно увеличить только один раз...пожалуйста, помогите

Что я уже пробовал:

DataTable ds = new DataTable();
            DataTable dt = new DataTable();
            cmd = new SqlCommand("select * from Lease_Management ", con);

            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);

            foreach (DataRow x in ds.Rows)
            {
                string Property_ID = x["Property_ID"].ToString();
                string Rate_of_Rent_Increament = x["Rate_of_Rent_Increament"].ToString();
                string Monthly_Rent = x["Monthly_Rent"].ToString();
                string Date_of_Rent_Renewal = x["Date_of_Rent_Renewal"].ToString();
                if (DateTime.Now.Date > DateTime.Parse(x["Date_of_Rent_Renewal"].ToString()))
                {

                    cmd = new SqlCommand("update Lease_Management set Monthly_Rent=Monthly_Rent/100*Rate_of_Rent_Increament + Monthly_Rent  where Property_ID='" + Property_ID + "'", con);
                    con.Open();
                    cmd.ExecuteNonQuery();


                }

                con.Close();
            }

2 Ответов

Рейтинг:
1

OriginalGriff

Проблема в том, что, когда вы делаете обновление, вы не изменяете базу данных, чтобы указать, что вы это сделали. И начиная с даты и времени.Сейчас всегда больше, чем было в прошлый раз, когда вы называли его, когда-то ваш if условие истинно, оно всегда будет истинным. Что вам нужно сделать, так это добавить в обновление, чтобы изменить Date_of_Rent_Renewal к какому бы периоду вы ни использовали для увеличения арендной платы:

UPDATE Lease_Management SET Monthly_Rent=Monthly_Rent/100*Rate_of_Rent_Increament + Monthly_Rent, Date_of_Rent_Renewal = DATEADD(yy, 1, Date_of_Rent_Renewal) WHERE Property_ID=...
Сделает его ежегодным.


Рейтинг:
0

Member 11848664

я попробовал ваш код, но все та же проблема..
всегда увеличивайте ежемесячную арендную плату, когда я нажимаю на кнопку...