4 / 4 / 0
Регистрация: 07.05.2019
Сообщений: 17

Выбор нужных строк из datagridview по условию для записи в таблицу базы данных mysql

18.09.2024, 08:15. Показов 2502. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Пока не сильно силен в vb.net. Столкнулся с проблемой, нигде не могу найти ответ. Есть база данных mysql, в которой есть таблица словаря (sp) и таблица оформленных заказов (zakaz_tab). Словарь выводится на форму в datagridview. Поиск наименования готовой продукции в datagridview осуществляется с помощью textbox по части слова. Для выбора нужной готовой продукции в словаре имеется пустой столбец Количество, куда вводится нужное количество и по нажатии на кнопку текущая строка datagridview переносится в таблицу zakaz_tab, при этом перемножаются столбцы цена и количество, ну и естественно в zakaz_tab вводится наименование продукции, ед. измерения и т.д. При таком режиме работы (перенос текущей записи по одной) нужные данные из datagridview заносятся в таблицу zakaz_tab. Естественно каждый раз идет обращение к строке подключения и sql запрос insert. В ввиду того, что в datagridview в столбце количество вручную вводится количество выбранной продукции, я хотел проставить в столбце в нужных строках количество и по условию количество>0 скопом выгрузить в таблицу zakaz_tab нужные строки, но столкнулся с тем, что в datagridview проставленная цифра количества в нужной строке исчезает, после ввода в текстбокс очередного поискового наименования. Во время фильтрации предыдущие цифры в столбце количество исчезают. Я понял почему это происходит, теперь вопрос - как это можно обойти? Или есть какие то другие способы как решить эту задачу…
Прошу подсказать что делать или в каком направлении действовать.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2024, 08:15
Ответы с готовыми решениями:

Выбор строк dataGridView, удовлетворяющих условию
есть dataGridView с подключенным акцес. Нужно перебрать по нажатию кнопки все строки, в 7 столбце которых число 200, если число там есть,...

Как для новой записи сделать автоматическую подстановку ID из базы данных в dataGridView?
Используется - MS Sql ID (автоинкремент) для новых записей формирует Sql сервер. Особенность: чтобы код добавлял `текущее значение...

Как выводить данные по условию из базы данных mysql
Из базы данных запросы выводятся в таблицу,как выводить по условию только если >0;т.е если Пример: Коэффициент паров 1 Коэффициент...

29
2296 / 1612 / 400
Регистрация: 26.06.2017
Сообщений: 4,774
Записей в блоге: 1
25.09.2024, 09:10
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от StasCher Посмотреть сообщение
записать строки у которых в столбце Col1 есть данные, т.е. больше 0 в другую таблицу, в таблицу Заказов.
Так не делается. StasCher, учитесь делать правильно. А правильно это в таблице заказов делать поле ссылающееся на таблицу товара (его ID) и, возможно, указывающее количество.
0
4 / 4 / 0
Регистрация: 07.05.2019
Сообщений: 17
25.09.2024, 09:46  [ТС]
Uswer,
Понял Вас спасибо за ответ!
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
25.09.2024, 09:48
StasCher, INSERT INTO и SELECT INTO и WHERE
https://sky.pro/wiki/sql/kopir... ql-server/
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
25.09.2024, 14:05
StasCher, Один из вариантов с "виртуальным столбцом".
VB.NET
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Imports System.Data.SqlClient
 
Public Class Form1
    Dim ConnectionSQL As New SqlConnection("Data Source=HELLRAISER\HELLRAISER;Initial Catalog=Menu;Integrated Security=True;Encrypt=False")
 
    Sub New()
        ConnectionSQL.Open()
        InitializeComponent()
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ZakTableAdapter.Fill(MenuDataSet.Zak)
        SlovarTableAdapter.Fill(MenuDataSet.Slovar)
        grdSlovar.Columns.Add("Col1", "Col1")
    End Sub
 
    Private Sub txtFilter_TextChanged(sender As Object, e As EventArgs) Handles txtFilter.TextChanged
        Dim count As Integer
        If grdSlovar.AllowUserToAddRows Then
            count = grdSlovar.Rows.Count - 2
        Else
            count = grdSlovar.Rows.Count - 1
        End If
        grdSlovar.CurrentCell = Nothing
        For i = 0 To count
            grdSlovar.Rows(i).Visible = Not grdSlovar(1, i).Value.ToString.IndexOf(txtFilter.Text, StringComparison.OrdinalIgnoreCase)
        Next
    End Sub
 
    Private Sub cmdCopy_Click(sender As Object, e As EventArgs) Handles cmdCopy.Click
        For i = 0 To grdSlovar.Rows.Count - 2
            If grdSlovar("Col1", i).Value <> "" Then
                MenuDataSet.Tables("Zak").Rows.Add({grdSlovar(0, i).Value,
                                               grdSlovar(1, i).Value,
                                               grdSlovar(2, i).Value,
                                               grdSlovar(3, i).Value,
                                               grdSlovar(4, i).Value})
            End If
        Next
        ZakTableAdapter.Update(MenuDataSet.Zak)
        grdZak.Update()
    End Sub
 
    Private Sub cmdSave_Click(sender As Object, e As EventArgs) Handles cmdSave.Click
        SlovarTableAdapter.Update(MenuDataSet.Slovar)
    End Sub
 
    Private Sub DataGridView2_UserDeletedRow(sender As Object, e As DataGridViewRowEventArgs) Handles grdZak.UserDeletedRow
        ZakTableAdapter.Update(MenuDataSet.Zak)
    End Sub
End Class
Миниатюры
Выбор нужных строк из datagridview по условию для записи в таблицу базы данных mysql   Выбор нужных строк из datagridview по условию для записи в таблицу базы данных mysql   Выбор нужных строк из datagridview по условию для записи в таблицу базы данных mysql  

0
4 / 4 / 0
Регистрация: 07.05.2019
Сообщений: 17
25.09.2024, 14:43  [ТС]
Hell666,
Спасибо Вам огромное, Вы в очередной раз меня выручили!!! Надеюсь больше Вас не побеспокою! Это то, что мне было нужно! Всех Вам благ и здоровья!!!!
0
4 / 4 / 0
Регистрация: 07.05.2019
Сообщений: 17
07.10.2024, 10:41  [ТС]
Hell666,
Здравствуйте! Помогите еще раз, столкнулся с непонятным для меня явлением, объясняю что произошло. На форме F2 были расположены 4 datagridview, несколько textbox и 2 кнопки. Решил все сдвинуть на форме вправо, выделил все элементы после чего нажал на -> несколько раз, потом решил еще и саму форму чуть уменьшить, но при уменьшении формы вдруг конструктор захлопнулся и не дает ничего делать, пишет, что есть 1 ошибка "ссылка на объект не указывает на экземпляр объекта". Справка MSDN ничего не дала, вернее что ошибка не известна. Есть стек вызовов, могу приложить. Что можно сделать? Жуть какая то первый раз с таким сталкиваюсь. Если Вас не затруднить подскажите как выйти из создавшегося положения...
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
07.10.2024, 10:53
StasCher, Ну. Самое первое и самое простое что нужно было сделать это не сохранять проект и Redo с Undo. Но поезд скорее всего ушел. А теперь проанализировать код и найти ошибочный объект. В окне списка ошибок два раза щелкнуть на ошибке и перейти к коду. Можно дать сюда проект в архиве.
0
4 / 4 / 0
Регистрация: 07.05.2019
Сообщений: 17
07.10.2024, 11:17  [ТС]
Hell666,
Вы опять выручили, да нашел ошибки, в окне списка ошибок дважды щелкнул на ошибку и стало все ясно, а именно в
коде приписал дополнительно следующее:
Private Sub TextBox3_Enter(sender As Object, e As EventArgs) Handles TextBox3.Enter, TextBox6.Enter
выделил красным, и так у нескольких, все исправил и заработало. Спасибо!!!
1
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
07.10.2024, 11:25
StasCher, Ошибка
"ссылка на объект не указывает на экземпляр объекта"
не могла быть из-за того что ты написал. Это всего лишь процедура
TextBox3_Enter
, которая выполняется для обоих
TextBox3 и TextBox6
по событию
Enter
. Дело было в чем-то другом.
0
4 / 4 / 0
Регистрация: 07.05.2019
Сообщений: 17
07.10.2024, 11:45  [ТС]
Hell666,
Честно скажу не знаю, увидел именно это, после того как отредактировал в нескольких местах все заработало... Я рад, что все исправилось, а то больше часа сидел, рылся в интернете... не удобно было Вас лишний раз беспокоить, но понял, что это что то серьезное, жалко было проделанной работы, поэтому и обратился. Спасибо Вам, главное что все нормально разрешилось!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.10.2024, 11:45

Добавление записи в любую таблицу любой базы MySQL из web-интерфейса
Здравствуйте. Не хватает компетенции для решения задачи. Времени на расширение компетенции -тоже. Осваиваю PHP. Нарисовал код, который,...

Загрузка базы данных из MySQL в DataGridView
Хотел загрузить базу данных ....вроде все делал как надо ... но почему-то выходит вот такая ошибка ....

Как добавить записи в несколько строк в таблицу mysql?
Как добавить записи в несколько строк в таблицу mysql?

Как добавить записи в несколько строк в таблицу mysql?
Здравствуйте! Постепенно познаю php+mysql и вот не соображу как можно реализовать следующее: На странице есть 12 одинаковых строк с...

Как по условию изменить цвет шрифта вывода из базы данных mysql
Вывожу из базы данных mysql через php скрипт в таблицу данные с помощью sql запроса ,как можно установить условие ,если значения &gt;0 то...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru