0

我必须使用 c# 从数据网格中的文本框中搜索数据我的代码是

          private void button_Search_Click(object sender, EventArgs e)
    {
        sqlcon.Open();
        //DataSet ds15 = new DataSet();

  DataTable dt= new DataTable();                        

 SqlDataAdapter adpt = new SqlDataAdapter("Select ColumName from TableName where Field like '%{0}%'", comboBox_Search.Text); 
  adpt.Fill(dt);//datatable to catch the fields from the database
 dataGridView1.DataSource = dt;

获取错误参数异常未处理

我想通过组合框搜索

4

4 回答 4

1

SqlDataAdapter上没有与您的参数匹配的构造函数

SqlDataAdapter adpt = new SqlDataAdapter(string.Format("Select ColumName from TableName where Field like '%{0}%'", 
                 comboBox_Search.Text), sqlcon);
于 2013-09-19T05:51:06.160 回答
1

每次都查询数据库不是一个可取的方法。取而代之的是一个BindingSource对象并填充一次源。然后使用BindingSource.Filter属性获取相关的结果集并将结果集绑定到网格。

看看这个这个链接。

另外,要解决您的问题,您可以尝试这样:

....
sqlcon.Open();
string query  = string.Format("Select ColumName from TableName where Field like '%{0}%'", comboBox_Search.Text);
SqlCommand cm = new SqlCommand(query, sqlcon);
SqlDataAdapter adpt = new SqlDataAdapter(cmd); 
adpt.Fill(dt);//datatable to catch the fields from the database
dataGridView1.DataSource = dt;
....
于 2013-09-19T05:52:43.370 回答
0

SqlDataAdapter 如何知道从哪里获取结果?

您没有正确初始化 SqlDataAdapter 的构造函数。第一个参数是完整的选择语句,第二个参数是您的连接字符串。

SqlDataAdapter adpt = new SqlDataAdapter(string.Format("Select ColumName from atm_status where Table like '%{0}%'", comboBox_Search.Text), sqlcon);
于 2013-09-19T05:52:01.817 回答
0
private void txt_Searchque_TextChanged(object sender, EventArgs e)
{
    string connector_string = "datasource = localhost;port=3306;username=root;password=;";
    MySqlConnection sqlcon = new MySqlConnection(connector_string);
    sqlcon.Open();
    string query = string.Format("Select * from oep.quiz where que like '%{0}%'", txt_Searchque.Text);
    MySqlCommand cmd = new MySqlCommand(query, sqlcon);
    MySqlDataAdapter adpt = new MySqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    adpt.Fill(dt);
    dataGridView1.DataSource = dt;
}
于 2017-11-20T08:25:35.007 回答