Я хочу, чтобы отобразить данные на ASP.NET текстовое поле на основе идентификатора сеанса. Но на странице ничего не происходит.
SqlConnection con = new SqlConnection("источник данных=USER-PC;начальный каталог=1GCAttendanceManagementSystem;Интегрированная безопасность=True");
DataTable dt = новый DataTable();
против.Открыть();
SqlDataReader myReader = null;
Команда sqlcommand myCommand = новая команда sqlcommand("выберите * от сотрудника, где EmpUsername='" + сессия["ИД"] + "'", кон);
myReader = myCommand.Метода executereader();
пока (myReader.Читать())
{
txtCode.Text = (myReader["EmployeeId"].Метод toString());
txtUsername.Text = (myReader["EmpUsername"].Метод toString());
txtPass.Text = (myReader["EmpPassword"].Метод toString());
txtEmail.Text = (myReader["EmpEmail"].Метод toString());
txtFirstname.Text = (myReader["EmpFirstName"].Метод toString());
txtLastname.Text = (myReader["EmpLastName"].Метод toString());
txtGender.Text = (myReader["EmpGender"].Метод toString());
txtContact.Text = (myReader["EmpContact"].Метод toString());
txtAddress.Text = (myReader["EmpAddress"].Метод toString());
txtDept.Text = (myReader["EmpDept"].Метод toString());
}
против.Закрывать();
Что я уже пробовал:
Я попробовал кодирование. Но все текстовые поля пусты. Вообще ничего не происходит.
F-ES Sitecore
Если код не входит в цикл while (используйте отладчик для пошагового выполнения), то ваш запрос не возвращает никаких строк. Это произойдет потому, что сеанс["id"] не будет таким, как вы ожидаете, или в базе данных нет ничего, что соответствовало бы ему. Мы не знаем, что находится в вашем сеансе или вашей базе данных, поэтому не можем сказать больше.
Richard Deeming
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
using (SqlConnection con = new SqlConnection("...")) using (SqlCommand myCommand = new SqlCommand("select * from Employee where EmpUsername = @id", con)) { myCommand.Parameters.AddWithValue("@id", Session["id"]); con.Open(); using (SqlDataReader myReader = myCommand.ExecuteReader()) { if (myReader.Read()) { txtCode.Text = Convert.ToString(myReader["EmployeeId"]); ... } } }
f farihin
Теперь это работает