1 有不可见字符
2 有中文大写的空格前提,你确信打印出来的SQL 相同,你可以用
sql2.equals(sqlsource) 判断看看。

解决方案 »

  1.   

    以上均对sql2讲的,因为你的sqlsource执行正常。
      

  2.   

    sql2中where后面的空格是不是多了点?
      

  3.   

    你先在数据库的SQL里面试下,后面那个SQL语句是不是应该写在一对()里面啊
      

  4.   

    竹子说得对,先看看有没有全角空格之类的问题,最好删了重新输入一次.还有sql如果是条件的话,注意条件不存在的情况:建议sql2改为"select * from product where 1=1 and ",这样哪怕sql条件不存在,执行也没问题.
      

  5.   

    上面写错应该是 "select * from product where 1=1 ",假如有条件的时候,这么写" and normalprice between 0 and 10 ".
      

  6.   

    我建议你在调试的时候
    watch到sql2到SQLServer里 执行一下看看
    可能一些全角字符或者你没主要的小符号等
      

  7.   

    你设置的product  是否为string 类型,而你的语句是用预编译语句进行查询就是product=?的方式.因为string类型的数据,执行语句的时候就会自动在你插入的值旁边加上'',所以报错