@a63826ndrew
Студент, новичок в Python

Как передалать запрос?

Здравствуйте!
Имеется вот такая форма для совершения переводов другим пользователям.
И при нажатии на кнопку "Выполнить перевод" по изначальной задумке берется соответствующее значение из таблицы и обновляется, но тут есть момент, что записалось не совсем так.
Столбец CashAmount имеет тип INTEGER если что
Вот таблица:
5ff847a5d8924777538681.png
Вот обработка кнопки:
SQLiteConnection Transfer = new SQLiteConnection("Data source = accounts.db");
            Transfer.Open();
            try
            {
                SQLiteCommand cmd = new SQLiteCommand($"UPDATE users SET CashAmount = 'CashAmount + {textBox2.Text}' WHERE Login = '{LoginField.Text}'", Transfer);
                cmd.ExecuteNonQuery();
            }
            finally
            {
                MessageBox.Show($"Операция выполнена успешно!");
                Transfer.Close();
            }

И вопрос такой: Как переделать запрос, чтобы значение из базы считалось как число, а также чтобы в ячейку записывалось не 40000+500, а 40500?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
vilinyh
@vilinyh
Если опустить кучу тонкостей про SQL-injection и валидацию данных, то просто изменить
SQLiteCommand cmd = new SQLiteCommand($"UPDATE users SET CashAmount = 'CashAmount + {textBox2.Text}' WHERE Login = '{LoginField.Text}'", Transfer);

на
SQLiteCommand cmd = new SQLiteCommand($"UPDATE users SET CashAmount = CashAmount + '{textBox2.Text}' WHERE Login = '{LoginField.Text}'", Transfer);

PS: столбец CashAmount имеет у вас строковый тип, а не целочисленный, судя по тому, что туда сохранилось.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
24 янв. 2021, в 10:50
3000 руб./за проект
24 янв. 2021, в 10:21
150 руб./за проект