Почему обновление запроса не работает?
Всем привет,
Я создаю одно приложение, где если использовать enter valid unique_no, то его продажи подсчитываются, код выполняется нормально, но когда я вижу таблицу, поле не обновляется
база данных im создана в access
Схема таблиц такова
Функция User_id Счетчик
Текст Имени Пользователя
Напоминание Пароля
Количество Unique_No
Sales_count Количество
To_Date Дата/Время
Что я уже пробовал:
private void button1_Click_1(object sender, EventArgs e) { this.txtinput.MaxLength = 4; cmd = new OleDbCommand("update Login set Sales_count=Sales_count+1 where [Unique_No]=@Unique_No", con); cmd.Parameters.AddWithValue("@Unique_No", txtinput.Text); con.Open(); int n = cmd.ExecuteNonQuery(); if (n==0) { MessageBox.Show("Invalid Unique No. pls try again later"); this.DialogResult = DialogResult.Cancel; } else { this.DialogResult = DialogResult.OK; } con.Close(); }
он работает нормально, но данные не обновляются в таблице
Примечания : прямо сейчас поле Sales_count пусто
---------------------------------------------------------------
тоже когда я попробовал ниже код
update Login set Sales_count=Sales_count+1 where [Unique_No]=@Unique_No and [To_Date]='" + DateTime.Now.ToShortDateString() + "'", con
debgugger когда к ниже линии
if (n==0) { MessageBox.Show("Invalid Unique No. pls try again later"); this.DialogResult = DialogResult.Cancel; }
Richard Deeming
... and [To_Date]='" + DateTime.Now.ToShortDateString() + "'"
НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]
Вы уже знаете, как использовать параметры из вашего предыдущего примера.