Member 13268442 Ответов: 1

Как же я...моя кнопка Delete не работает в программе VB.NET ли один помочь мне


If MsgBox("Do You want to Mark as Delete The Employee Account ?", MsgBoxStyle.YesNo + MsgBoxStyle.Critical) = MsgBoxResult.Yes Then
                ExecuteSQLQuery("update  employees set isdelete=1 where EmpName=N'" & TxtList.Item("Employee Name", TxtList.CurrentRow.Index).Value & "'")
                LoadEmployeeList()


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

я пробовал изменить sql-запрос следующим образом: "удалить из сотрудников, где EmpName=N'""
например,это время удалено из базы данных и gridview, но добавление следующего сотрудника с тем же именем, видя, что имя уже существует, при использовании старого запроса delte не работает, видя gridview и sqldatabase

1 Ответов

Рейтинг:
1

Patrice T

У нас нет способа узнать, что такое настоящий запрос, потому что вы строите его на лету с переменными, которых мы не знаем. Обновите свой вопрос копией реального запроса.

ExecuteSQLQuery("update  employees set isdelete=1 where EmpName=N'" & TxtList.Item("Employee Name", TxtList.CurrentRow.Index).Value & "'")

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]