Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OleDB Select语句_C#_.net_Winforms_Oledb - Fatal编程技术网

C# OleDB Select语句

C# OleDB Select语句,c#,.net,winforms,oledb,C#,.net,Winforms,Oledb,我的程序中有一个搜索按钮。我想要的是每次搜索时,我都会键入lastname,当lastname相当于数据库中的任何lastname时,此人的firstname和lastname将显示在列表框中,每当我点击列表框中的结果时,此人的详细信息将显示在文本框中。问题是,如果有相同姓氏的人,他们的姓名会唯一列出,但当我单击姓名时,文本框中会出现相同的详细信息 请帮忙 这是我的密码: connection.Open(); OleDbCommand select = new OleDbComm

我的程序中有一个搜索按钮。我想要的是每次搜索时,我都会键入
lastname
,当
lastname
相当于数据库中的任何
lastname
时,此人的
firstname
lastname
将显示在
列表框中,每当我点击
列表框中的结果时,此人的详细信息将显示在
文本框中。问题是,如果有相同姓氏的人,他们的姓名会唯一列出,但当我单击姓名时,
文本框中会出现相同的详细信息

请帮忙

这是我的密码:

    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();

此代码中没有任何错误,您的错误可能出现在listbox\u事件中


显示列表框部分的代码。

顶部右侧有一件事是错误的。它很容易受到SQL注入攻击。除了考虑SQL注入容易之外,还要认真考虑参数化的输入。如果你想找到只有部分姓氏的人,你应该使用“Select*From Accounts Where Lastname”,比如“+”searchtb.Text+“%”
 cFat_items2 = new OleDbDataAdapter("
      SELECT COUNT(Fat_Items.i_num) AS Count_i_num, Fat_Items.i_num, g.i_num 
      FROM Fat_Items INNER JOIN Fat_Items AS g ON Fat_Items.fat_nr = g.fat_nr 
      WHERE Fat_Items.i_num = '" + this.kLDataSet.Fat_Items.Rows[i].ItemArray[0].ToString() + "' 
      AND g.i_num = '" + this.kLDataSet.Fat_Items.Rows[j].ItemArray[0].ToString() + "' 
      GROUP BY Fat_Items.i_num, g.i_num HAVING COUNT(Fat_Items.i_num)>='" + Support + "'", con);

 cFat_items2.Fill(dFat_items2);