string network=ddlnetwork.SelectedValue.ToString();
sql2 = sql2 + "and a.chitty_network='"+network+"'";
MessageBox.Show(sql2);
输出的怎么是
and a.chitty_network='System.DataRowView'
然后又是and a.chitty_network='System.DataRowView'and a.chitty_network='System.DataRowView'
最后是and a.chitty_network='System.DataRowView'and a.chitty_network='System.DataRowView'and a.chitty_network='1'

解决方案 »

  1.   

    我有几个问题
    1,selectvalue是列值的selectId,而不是显示的值,通常用来在数据库里做外键来引用其他表具体的值,不知道你的是不是这样
    2,and a.chitty_network='System.DataRowView' 这样的值说明selectvalue可能并不存在
      

  2.   

    sql2 = sql2 + "and a.chitty_network='"+network+"'";
    在这句之前sql2在哪里赋值了?输出结果当然是and a.chitty_network='System.DataRowView'了
    至于后面,肯定是不断的sql2=sql2+sql2了,Lz查下代码吧
      

  3.   

    首先 绑定ddlnetwork
    this.ddlnetwork.DataSource=一个数据源;
    this.ddlnetwork.DataTextField="要显示的字段名";
    this.ddlnetwork.DataValueField="ID";然后你在拿ddlnetwork.SelectedValue就是你要的东西了string sql2="select xxx from xxx where 1=1";
    if(ddlnetwork.SelectIndex!=-1)
    {
    sql2=sql+"and xxx="+ddlnetwork.SelectedValue;
    }
      

  4.   


    查看下ddl的value值,我估计你是动态绑定的
    DataTble dt=........//取值
    ddl.DataTextField="Text";//显示的
    ddl.DataValueField="value";//值
    sql+=" and a.chitty_network='"+ddl.SelectedValue+"'";
      

  5.   


    那就用combobox绑定数据
    cb.datasource=dt;
    cb.displaymenber="text";
    cb.valuemenber="value";
    sql+=" a.chitty_network='"+cb.SelectedValue+"' ";
      

  6.   


    那就用combobox绑定数据
    cb.datasource=dt;
    cb.displaymember="text";
    cb.valuemember="value";
    sql+=" a.chitty_network='"+cb.SelectedValue+"' ";
      

  7.   

    MessageBox.Show(sql2);
     多处输出造成的。。