Member 13985914 Ответов: 2

Как получить данные несоответствия в datagridview


привет, ребята!
у меня есть datagridview1, в котором я показываю свои эти данные
Select Item.ItemName as item, Stock.SalePrice as Price, invoice.Qty 
            FROM invoice
            JOIN item ON invoice.ItemID = item.ItemID
            JOIN sale ON invoice.SaleID = sale.SaleID
            join Stock on Stock.ItemID  = item.ItemID 
            where sale.SaleID = '" + textBox1.Text + "'";
когда некоторые изменения происходят в этом datagridview1 клиентом я хочу получить эти строки в другом datagridview2

Что я уже пробовал:

я много пробовал но не нашел ничего лучше

Richard MacCutchan

"я много пробовал, но не нашел ничего лучше"
Пожалуйста, не ждите, что мы догадаемся, что вы пытались, или почему это не сработало. Отредактируйте свой вопрос и предоставьте соответствующие сведения о том, что Вы делаете с содержимым DataGridView.

Richard Deeming

where sale.SaleID = '" + textBox1.Text + "'"


Не делай этого так!

Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]

2 Ответов

Рейтинг:
2

Gerry Schmitz

Используйте ObservableColection< gt; для вашего основного источника данных.

Обновление OC генерирует события (добавление, удаление), которые можно использовать для ведения коллекции / журнала "различий" (другой OC).

Назначить ОК на решетки, которые потом будут отражены все изменения.


Рейтинг:
1

RickZeeland

Смотрите ответ здесь, чтобы получить только измененные строки:
c# - возвращает только измененные строки datagridview? - переполнение стека[^]