我的程序中有一個搜索按鈕。我想要的是每次搜索時我都會輸入lastname
,並且當lastname
等於數據庫中的任何lastname
時,該人的firstname
和lastname
將顯示在listbox
中,並且每當我單擊listbox
中的結果該人的詳細信息將顯示在textboxes
中。問題是,當有姓氏相同的人,他們的名字是唯一列出的,但是當我點擊姓名時,相同的細節出現在textboxes
。OleDB Select Statement
請幫忙。
這裏是我的代碼:
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 2013-03-01 02:18:25
除了SQL注入容易。如果你想找到只有部分姓氏的人,你應該使用「Select * From Accounts Where Lastname Like'」+ searchtb.Text +「%'」 – echavez 2013-03-01 07:16:11