过滤后根据选择的datagridview访问数据库的特定记录

时间:2018-08-09 18:36:19

标签: c# sql-server database datagridview datatable

我的datagridview充满了数据库表中的主要字段。

DataTable dt2 = db.select("select fname,lname from tbl_actor"); 
dataGridView1.DataSource = dt2;

通过单击datagridview,所有记录字段将显示在单独的文本框中。

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataTable dt3=new DataTable();
dt3.Clear();
dt3 = db.select("select * from tbl_actor where fname='" +dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'and lname='" + dataGridView1.CurrentRow.Cells[1].Value.ToString() + "'");
tbxtemp1.Text = dt3.Rows[0][1].ToString();
tbxtemp2.Text = dt3.Rows[0][2].ToString();
tbxtemp3.Text = dt3.Rows[0][3].ToString();
}

可以。但是我们还有另一个文本框可以过滤datagridview的内容

private void textBox1_TextChanged(object sender, EventArgs e)
{
DataTable dt2 = db.select("select * from tbl_actor where fname like '%" +textBox1.Text+"%'");
dataGridView1.DataSource = dt2;
}

问题在这里。显示过滤的数据后,dataGridView1_CellContentClick事件停止并出现错误。

“位置0没有行”

我知道问题出在数据表上,但不知道如何解决

0 个答案:

没有答案