有一些格式要求必须要有where子句,比如前台的咚咚

解决方案 »

  1.   

    支持wylwy1130,有时候写动态sql的时候,需要where语句,但是一开始初始化sql语句的时候,是不知道那个where后面是什么.所以先写一个1=1在哪里,后面再换
      

  2.   

    我还以为是在做密码攻击呢对于安全性不高的站点
    在密码窗填入
    xx' or '1'='1说不定可以登录成功哦
      

  3.   

    个人看法:对于符合条件的检索,动态生成SQL语句时方便所写。判断用户在界面选择了该条件,则在SQL语句当中,加上相应的条件。如果没有输入任何条件,加上这句,可以避免语法错误。纯属个人看法,难免片面。
      

  4.   

    这样: 动态sql语句为 sql="select * from a where 1=1 "
    用户输入的东西为 tj 
     无论用户有没有输入条件,如用姓名查还是用身份证查等.
       姓名后加上: tj := tj +"xm ="+xm1 ;
       身份证后驾上 tj := tj+"sfz="+sfz1 ;
       最后的动态sql为  
          sql:= sql +tj ;
       就不用判断用户有没有选择条件了.因省略了where 1=1,用户没选条件时你的代码就增加了.
      必须加上 if ....(完)
      

  5.   

    这种写法还有一种功能就是绕过编译器,例如在有些编译器中,当你用delete要删除表中数据时,会提示你是否要删除,加入这个就可以避免这种提示
      

  6.   

    动态SQL时使用,如果没有这个条件,那么就要拼装where子句,而且第一个条件不带类似and的逻辑操作符,然后从第二个条件开始使用逻辑操作符。为了避免拼装where子句时的麻烦,事先就固定这样一个where 1=1,再加检索条件就方便多了