请问: private void Login_Load(object sender, EventArgs e)
        {
            string sql = "select ID = replace(ID,' ',''),部门名称 = replace(部门名称,' ','') from 组织机构表 where 上级部门ID=0";
            DataSet ds = md.getDataSet(sql, "组织机构表");
            this.comboBox1.DataSource = ds.Tables["组织机构表"];
            this.comboBox1.DisplayMember = "部门名称";
            this.comboBox1.ValueMember = "ID";            
        }
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {            string sql = "select ID = replace(ID,' ',''),部门名称 = replace(部门名称,' ','') from 组织机构表 where 上级部门ID = " + comboBox1.SelectedValue.ToString() + "";
            DataSet ds = md.getDataSet(sql, "组织机构表");
            this.comboBox2.DataSource = ds.Tables["组织机构表"];
            this.comboBox2.DisplayMember = "部门名称";
            this.comboBox2.ValueMember = "ID";
        }
  执行后 出现 “无法绑定由多个部分组成的标识符 "System.Data.DataRowView"。“错误
 应怎么解决?
    谢谢!

解决方案 »

  1.   

    是Load时出错还是SelectedIndexChanged的时候出的错?
    为什么喜欢用中文表示字段名啊
      

  2.   

    是SelectedIndexChanged的时候出的错
      

  3.   

    你把SQL语句拿到数据库执行一下看看行不 把错误信息粘出来看看
      

  4.   

    你把SQL语句拿到数据库执行一下看看行不 把错误信息粘出来看看
      

  5.   

     SQL问题,在查询分析执行
    string sql = "select  replace(ID,' ','') as ID , replace(部门名称,' ','') as 部门名称 from 组织机构表 where 上级部门ID = " + comboBox1.SelectedValue.ToString() + "";
      

  6.   

    在load中执行是正确的,在SelectedIndexChanged中执行出现错误,
    Sql语句没有错误
      

  7.   

    看不出什么问题 但是没必要这么绑定定义全局 DataTable
    在 Form_Load 事件里填充 DataTable 数据
    利用 DataTable.Select 方法获取满足条件的 DataRow[] 作为绑定的源就可以了
      

  8.   

     comboBox1_SelectedIndexChanged 事件里面string sql = "select ID = replace(ID,' ',''),部门名称 = replace(部门名称,' ','') from 组织机构表 where 上级部门ID = " + comboBox1.SelectedValue.ToString() + "";  这个sql语句里的ID是string类型的吗,如果是int型的就应该是ID = '" + comboBox1.SelectedValue.ToString() + "'"; 感觉还是sql语句那
      

  9.   

    " + comboBox1.SelectedValue.ToString() + "怎么成了字符串?
      

  10.   

    string sql = "select 部门名称 = replace(部门名称,' ','') from 组织机构表 where 上级部门ID = " + comboBox1.SelectedValue.ToString() + "";
    把ID这个列去掉.试下.
    (没试过,个人觉得,你这查出来是两个字段,绑到ComBox有错.因为你comboBox1绑定用ID=0条件,查出来没数据,所以不会出错.)