Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
4 / 4 / 0
Регистрация: 07.05.2019
Сообщений: 17

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

18.09.2024, 08:15. Показов 2471. Ответов 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
Ответ Создать тему
Новые блоги и статьи
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru