下拉列表框DropDownList1中列出专业如下:会计
人事
物业
保卫
监察
稽核DropDownList1列表中的数据内容也为查询得来的,个数和值都不固定,所以可能为:人事
监察
稽核如何从表table中查出字段“专业”为当前DropDownList1列表中的所列出专业的相关信息?如sql语句查询结果为:刘宏 女 人事
张丽 女 人事
王刚 男 监察
张岩 女 稽核

解决方案 »

  1.   

    select * from table where zhuanye=???
      

  2.   

    "select * from table where zhuanye="+this.DropDownList1.SelectedValue;
      

  3.   

    select * from table where zhuanye IN (下拉列表的值)
      

  4.   

    值是动态的.
    每位用户登录系统后根据他们的操作权限,DropDownList1中列出的值都不同,用户甲登录DropDownList1中有N个,用户乙登录DropDownList1中有M个.
      

  5.   

    将dropdownlist中所有列名放到以","的字符串中,然后传给参数@str
    @str varchar(200)
    select * from table where @str like '%,"+zhuanye+",%"
      

  6.   

    将dropdownlist中所有列名放到以","分割的字符串中,然后传给参数@str
    @str varchar(200)
    select * from table where @str like '%,"+zhuanye+",%"
      

  7.   

    使用自定义函数,函数定义为你存储过程的内容。
    select * from "+Table+" where correct='未整改'  and zhuanye  IN(select * from F_FunctionName(username))
      

  8.   

    这样写就可以吗,你直接调用自定义函数Getsql()获得返回值(使用C#):    public string Getsql()
        {
            string SqlWhere = "select * form table where 专业=" + DropDownList1.Items[0];
            int con = DropDownList1.Items.Count;
            for (int i = 1; i < con; i++)
            {
                string tmp = " or 专业=" + DropDownList1.Items[i].ToString();
                SqlWhere += tmp;
            }
            return SqlWhere;
        }
    我是初学者哦,请多多指教。
      

  9.   

    我的列名明明是 "zhuanye",怎么这些值都成列名了呢??? public string Getsql()
    {
    string SqlWhere ="select * from problem where zhuanye="+DropDownList1.Items[0].ToString();
    int con = DropDownList1.Items.Count;
    for (int i = 1; i < con; i++)
    {
    string tmp =" or zhuanye="+DropDownList1.Items[i].ToString();
    SqlWhere +=tmp;
    }
    return SqlWhere;
    }
      

  10.   

    把那段修改一下
    public string Getsql()
        {
            string SqlWhere = "select * form table where 专业  ='" + DropDownList1.Items[0] + "'";
            int con = DropDownList1.Items.Count;
            for (int i = 1; i < con; i++)
            {
                string tmp = " or 专业='" + DropDownList1.Items[i].ToString() + "'";
                SqlWhere += tmp;
            }
            return SqlWhere;
        }值都要加上单引或双引号的
      

  11.   

    多谢Top  shicj(shicj)  !!!就是这个问题!