Update таблицы T-SQL
Всех приветствую. Я пытаюсь создать приложение, которое работает с базой данных. Я использую Winform для графики и Microsoft SQL Server 2019 для БД. Я столкнулся с такой проблемой. При попытке обновления данных, в базе данных, происходит обновление всех строк сразу. Как можно сделать так чтобы обновлялась только нужная(выделенная строка). Для вывода данных из БД я использую DataGridView. Код используемый мной для обновления:
UPDATE Logins
SET Login = @Login, Pass = @Pass
Ответы (1 шт):
Если у оператора UPDATE не указаны какие-то ограничивающие условия (например, WHERE), то он обновляет все строки таблицы. Поэтому в вашем случае нужно передать в него идентификатор той строки, которую вы ходите обновить. Например,
UPDATE Logins
SET Login = @Login, Pass = @Pass
WHERE ID = @Id
Соответственно, когда вы заполняете DataGridView вам нужно ещё считывать идентификаторы нужных строк (в примере – значение поля ID), чтобы потом передать их в скрипт обновления