Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
1 / 1 / 0
Регистрация: 13.03.2017
Сообщений: 64

Текстбокс и БД sql

26.03.2019, 11:51. Показов 2579. Ответов 13

Студворк — интернет-сервис помощи студентам
Всем привет, подскажите пожалуйста, каким образом можно отнять введенное числовое значение в textbox от столбца "Количество" в базе данных SQL?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2019, 11:51
Ответы с готовыми решениями:

dataset и текстбокс
Можно ли в цикле выводить в i текстбокс i строку dataset? Если да,то как?

Скрытие пароля из текстбокс
Добрый день сделал авторизацию и где вводится пароль скрываю символы, хочу чтобы была еще возможность скрывать символы или не скрывать...

Чтение из бд и добавление в текстбокс
private void old_write_Load(object sender, EventArgs e) { string cmText = "SELECT COUNT(*) FROM TableAvtor"; ...

13
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
27.03.2019, 09:49
получаешь значение столбца "количество", и отнимаешь от него введенное значение.
какие трудности в этом? на форуме много тем по вопросу получения данных из базы. с этим не получается разобраться, или что?
это достаточно тривиальная задача, ее очень просто загуглить.
0
1 / 1 / 0
Регистрация: 13.03.2017
Сообщений: 64
27.03.2019, 09:58  [ТС]
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
получаешь значение столбца "количество", и отнимаешь от него введенное значение.
какие трудности в этом? на форуме много тем по вопросу получения данных из базы. с этим не получается разобраться, или что?
это достаточно тривиальная задача, ее очень просто загуглить.
Да вот искал, но ничего не находил. Не знаю, может как-то не так формулирую
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
27.03.2019, 10:30
Лучший ответ Сообщение было отмечено SynsWor как решение

Решение

примерно такая структура получается. но она не делает update в базе, а просто должно выводить результат вычитания.
писал от руки, так что могут быть ошибки.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
"Data Source=ServerName;" +
"Initial Catalog=DataBaseName;" +
"User id=UserName;" +
"Password=Secret;";
 
string sqlquery = "SELECT Количество FROM Таблица";
 
conn.Open();
 
SqlCommand command = new SqlCommand(sqlquery, conn);
 
SqlDataReader sdr = command.ExecuteReader();
 
 
List<int> LValues = new List<int>();
 
while ( sdr.Read() )
{
    List.Add(sdr[ "Количество" ]);
} 
sdr.Close();
conn.Close();
foreach (int OutputData in LValues)
{
textBox2.Text += OutputData - Convert.ToInt32(textBox1.Text);
}
1
1 / 1 / 0
Регистрация: 13.03.2017
Сообщений: 64
27.03.2019, 11:03  [ТС]
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
примерно такая структура получается. но она не делает update в базе, а просто должно выводить результат вычитания.
писал от руки, так что могут быть ошибки.
А как исправить ошибку в 21 строке?
Использование универсального тип "List<T>" требует аргументы типа 1. UchetTechnicheskihIRashodnihSredstd
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
27.03.2019, 12:30
вот так исправить
C#
1
LValues.Add(sdr[ "Количество" ]);
1
1 / 1 / 0
Регистрация: 13.03.2017
Сообщений: 64
27.03.2019, 13:10  [ТС]
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
вот так исправить
А потом выходит такая ошибка - Ошибка CS1503 Аргумент 1: не удается преобразовать из "object" в "int".
Попытался поменять тип на object, вместо int и стало выдавать ошибку в 25 строке (Заданное приведение является недопустимым.)
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
27.03.2019, 15:02
попробуй изменить на это:
C#
1
LValues.Add(Convert.ToInt32(sdr.GetValue(0)));
1
1 / 1 / 0
Регистрация: 13.03.2017
Сообщений: 64
27.03.2019, 15:06  [ТС]
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
попробуй изменить на это:
Всё, теперь работает, спасибо большое
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
27.03.2019, 15:12
а по заданию то, что нужно?
0
1 / 1 / 0
Регистрация: 13.03.2017
Сообщений: 64
27.03.2019, 15:22  [ТС]
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
а по заданию то, что нужно?
Ну вообще это:
На форме у меня есть combobox, который получает данные из таблицы БД sql. При выборе какого-то значения в combobox у меня выводится доступное количество в Label, из столбца "Количество". Мне необходимо, чтобы при вводе нужного количества в textbox, исходя из выбранного значения в combobox, и по нажатию на кнопку отправить у меня отнималось введенное в textbox значение из таблицы "Количество" по выбранному в combobox значению. Вотс, я новичок в этом деле, для меня трудновато такое выполнить...
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
28.03.2019, 11:49
Лучший ответ Сообщение было отмечено SynsWor как решение

Решение

в таблице в базе тоже должно меняться значение?

Добавлено через 44 минуты
запрос изменить для начала:
C#
1
string sqlquery = "SELECT Наименование, Количество FROM Таблица";
потом в теле цикла вместо добавления в лист добавлять в комбобокс:
C#
1
2
3
4
5
6
while ( sdr.Read() )
{
         comboBox1.Items.Add(sdr.GetValue(0));
         comboBox1.ValueMember = sdr["Количество"].ToString();
         comboBox1.DisplayMember = sdr["Наименование"].ToString();
}
весь код нужно добавить в отдельный метод, и потом вызвать тут, чтобы комбобокс заполнится при запуске программы.
C#
1
2
3
4
5
 public Form1()
        {
            InitializeComponent();
            //Название метода();
        }
так же на комбобокс навесить событие, и выводить в лейбл нужное Количество при выборе Наименования:
C#
1
2
3
4
 private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            label1.Text = comboBox1.SelectedValue.ToString();
        }
в кнопку добавить расчет такого вида и вывод в новый лейбл значения: (где label1.Text - это отображаемое количество, а textBox1.Text - вводимое значение, которое будем вычитать из количества)
C#
1
 label2.Text = (Convert.ToInt32(label1.Text) - Convert.ToInt32(textBox1.Text)).ToString();
1
1 / 1 / 0
Регистрация: 13.03.2017
Сообщений: 64
28.03.2019, 15:48  [ТС]
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
в таблице в базе тоже должно меняться значение?
Адаптировал ваш код к своему коду, всё работает, вычитает введенное количество! Спасибо! А как теперь обновить результат операции в самой базе данных?
0
1 / 1 / 0
Регистрация: 13.03.2017
Сообщений: 64
30.03.2019, 08:37  [ТС]
Сделал в итоге так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 private void button4_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                SqlCommand update = new SqlCommand(@"update tbl_Sredstva SET Col=@Col
                where (Model=@Model)", conn);
                update.Parameters.AddWithValue(@"Col",label23.Text.Trim());
                update.Parameters.AddWithValue(@"Model", comboBox5.Text.Trim());
                conn.Open();
                update.ExecuteNonQuery();
                conn.Close();
            }
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2019, 08:37
Помогаю со студенческими работами здесь

Не отображает текстбокс. Не пойму никак
TextBox NewLabel = new TextBox(); NewLabel.Width = 40; NewLabel.Height = 20; NewLabel.VerticalAlignment =...

Записать в текстбокс часть стоки
Добрый вечер ...! Надеюсь вы мне поможете! Есть файл *. cfg, я с него считываю построчно в массив текст .. Текст примерно такой zas32...

Редактирование информации через текстбокс в грид
На 1 форме есть таблица и кнопка &quot;Изменить&quot; на кнопке висит код Form9 fm9 = new Form9(); fm9.textBox1.Text =...

Запрос к базе данных и вывод в текстбокс
Вот есть запрос к базе и вывод в listBox.так как данные в базе больше 255 символов то стоит тип поля МЕМО,при выводе в листбокс не хватает...

Запретить делать вставку (paste) в текстбокс
Добрый день! У меня есть текстбокс в программе с#. Необходимо ограничить вставку текста (ctrl+v) в данный текстбокс следующим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru