Member 13724030 Ответов: 1

Как я могу исправить эту ошибку


охраняемых недействительными грв()
{
против.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("Select * из complaint_table Где UserName= '" + команде uname + "')", кон);
SqlDataAdapter d= новый SqlDataAdapter(cmd);
d.Fill(dt);// эта часть показывает ошибку
GridView1.DataSource = dt;// эта часть показывает ошибку
Управления gridview1.Привязку();
против.Закрывать();
}

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

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

1 Ответов

Рейтинг:
1

Patrice T

Цитата:
Как я могу исправить эту ошибку

Есть сообщение об ошибке, было бы неплохо сообщить нам об этом.
d.Fill(dt);// this portion shows error

Можно заподозрить, что dt на данный момент он не определен.

SqlCommand cmd = new SqlCommand("Select * from complaint_table where username= '" + uname + "')",

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