내 프로그램에 검색 버튼이 있습니다. 내가 원하는 것은 검색 할 때마다 lastname
을 입력 할 것이고 lastname
이 데이터베이스의 lastname
과 동등 할 때 firstname
과 lastname
이 listbox
에 표시되고 listbox
의 결과를 클릭 할 때마다 그 사람의 세부 정보가 textboxes
에 표시됩니다. 문제는 동일한 성을 가진 사람이 있고 그 이름이 고유하게 나열되어 있지만 이름을 클릭하면 동일한 세부 정보가 textboxes
에 나타납니다.OleDB Select 문
도와주세요. 귀하의 오류 가능성이 당신의 listbox_events에있을 수 있습니다, 당신은이 코드에서 오류가 그나마
connection.Open();
OleDbCommand select = new OleDbCommand();
select.Connection = connection;
select.CommandText = "Select * From Accounts Where Lastname = '" + searchtb.Text + "'";
OleDbDataReader reader = select.ExecuteReader();
while (reader.Read())
{
listBox1.Items.Add(reader[1].ToString() + "," + reader[2].ToString());
}
connection.Close();
정상의 한 가지가 잘못되었습니다. ** SQL 삽입 공격에 대해 ** 와이드 오픈 **입니다. * 심각하게 * 입력을 매개 변수화하는 것을 고려하십시오. – WhozCraig
SQL 인젝션이 발생하기 쉽습니다. 성 (姓)의 일부를 가진 사람을 찾으려면 "성 * 같은 성을 선택하십시오"+ searchtb.Text + "% '"를 사용해야합니다 – echavez