我在做一个页面,有查询的功能,在执行时出错,是SQL语句有错。
过程如下:使用ImageButton和LinkButton控件进行操作,
我用一个Label控件在页面上将出错的SQL语句显示出来。
当两个DropDownList里面有“用户ID”和“包含”时,
SQL语句出错的提示,如下:
  select userid,name,deptid,passwd,userstatus from sys_user and userid Like '';
两个DropDownList里面有“姓名”和“包含”时,
当SQL语句出错的提示,如下:
  select userid,name,deptid,passwd,userstatus from sys_user and name Like '';
两个DropDownList里面有“用户ID”和“等于”时,
当SQL语句出错的提示,如下:
  select userid,name,deptid,passwd,userstatus from sys_user and userid = '';
两个DropDownList里面有“姓名”和“等于”时,
当SQL语句出错的提示,如下:
 select userid,name,deptid,passwd,userstatus from sys_user and name = '';
类似的查询都出现这样的错误语句提示,即错误所在。
但我找了与页面相关的代码,
select的查询语句就只有一句:
ViewState["sql"]="select userid,name,deptid,passwd,userstatus from sys_user";
就是这句有错或是不完整。
请求大虾帮我改完整
谢谢

解决方案 »

  1.   

    补充一下:
    在控件中有这样的代码:
    if(type == "like")
    {
       strWhere = " and  "+items+" "+type+" '%"+values+"%'";
    }
       else
    {
       strWhere = " and  "+items+" "+type+" '"+values+"'";
    }
      

  2.   

    你的语句都少一个where条件,他当然要保错了,更改如下
    1、 select userid,name,deptid,passwd,userstatus from sys_user where userid Like ''
    2、select userid,name,deptid,passwd,userstatus from sys_user where name Like ''
    3、select userid,name,deptid,passwd,userstatus from sys_user where userid = ''
    4、 select userid,name,deptid,passwd,userstatus from sys_user where name = ''
      

  3.   

    开始试着改过,但只改一条

    是不是用and把所有条件连接起来加在where后面?
      

  4.   

    你在前面看看,在变量中把Where关键字加进去就好了!
      

  5.   

    是少了where
    几个LIKE 一起,怎样表示呢?
      

  6.   

    where 后面跟条件,不只直接跟and
    如果多个条件的话就用and 来连接!
      

  7.   

    select a,b,c from 表 where a like 'a%' and b like 'b%' and c like 'c%'
      

  8.   

    每个之间都用and?--------------------------
    看你用的条件是什么了
    如果是交集就用 and  反之则用 or 
      

  9.   

    我用的是并集
    用的是or
    ViewState["sql"]="select userid,name,deptid,passwd,userstatus from sys_user where userid like '' or name like '' or deptid like '' or userid='' or name='' or deptid=''";
      

  10.   

    用Label显示在页面上:
    select userid,name,deptid,passwd,userstatus from sys_user where userid like '' or name like '' or deptid like '' or userid='' or name='' or deptid='' and userid Like ''还是多了最要的一点东西: and userid Like ''
      

  11.   

    我觉得还是与
    if(type == "like")
    {
    strWhere = " and "+items+" "+type+" '%"+values+"%'";
    }
    else
    {
    strWhere = " and "+items+" "+type+" '"+values+"'";
    }
    中的strWhere = " and "+items+" "+type+" '%"+values+"%'";有关
    比如我改动为:strWhere = "+items+" ;后
    页面显示:select userid,name,deptid,passwd,userstatus from sys_user where userid like '' or name like '' or deptid like '' or userid='' or name='' or deptid=''+items+  
      

  12.   

    前面的变量?
    我用userid,name,deptid三个来查询,控件为Droplist
    后面一个有两个条件,包含或等于,控件也为Droplist
    用的查询控件为ImageButton lan_gan_1_Query(查询)LinkButton B_Res_Query(在结果中查找)