private void btnSearch_Click(object sender, EventArgs e)
        {
            BindingSource bindingSource1 = new BindingSource();
            this.CDlists.DataSource = bindingSource1;
            string keyword = this.searchTextBox.Text.Trim();
            String selectCommand = "select * from cd where name like '*" + keyword + "*' or desp like '*" + keyword + "*'";
            OleDbConnection strConn = new OleDbConnection();
            strConn.ConnectionString = ConfigurationManager.AppSettings["ConnString"];
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectCommand, strConn);
            OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
            DataTable table = new DataTable();
            table.Locale = System.Globalization.CultureInfo.InvariantCulture;
            dataAdapter.Fill(table);
            bindingSource1.DataSource = table;
        }数据库是Access,cd是表名,name和desp是两个字段,为什么datagridview一直不显示结果呢?

解决方案 »

  1.   

    bindingSource1.DataSource = table;绑定放到最下面不然岂不是空值
    this.CDlists.DataSource = bindingSource1;
      

  2.   

    private void btnSearch_Click(object sender, EventArgs e)
            {           
                string keyword = this.searchTextBox.Text.Trim();
                String selectCommand = "select * from cd where name like '*" + keyword + "*' or desp like '*" + keyword + "*'";
                OleDbConnection strConn = new OleDbConnection();
                strConn.ConnectionString = ConfigurationManager.AppSettings["ConnString"];
                OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectCommand, strConn);
                OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                BindingSource bindingSource1 = new BindingSource();
                bindingSource1.DataSource = table;
                this.CDlists.DataSource = bindingSource1;
            }修改后,还是不行。
      

  3.   

    access中不是%而是*,这个我很确定。
      

  4.   

    private void btnSearch_Click(object sender, EventArgs e)
    {
    BindingSource bindingSource1 = new BindingSource();string keyword = this.searchTextBox.Text.Trim();
    String selectCommand = "select * from cd where name like '*" + keyword + "*' or desp like '*" + keyword + "*'";
    OleDbConnection strConn = new OleDbConnection();
    strConn.ConnectionString = ConfigurationManager.AppSettings["ConnString"];
    OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectCommand, strConn);
    OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
    DataTable table = new DataTable();
    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
    dataAdapter.Fill(table);
    bindingSource1.DataSource = table;
    this.CDlists.DataSource = bindingSource1;
    }