我想使用preparestatement 提高查询效率,代码如下:String List = "('aa', 'bb')"; 
PreparedStatement myPreparedStatement = conn.prepareStatement("select * from text_a where projectName = ? ");
myPreparedStatement.setString(1, List);
当执行下面语句时
ResultSet myResultSet = myPreparedStatement.executeQuery();
提示:Incorrect syntax near '@p0'在ms-sql server中使用preparestatement不能有in 参数吗?如果可以如何使用呢??

解决方案 »

  1.   

    reparedStatement myPreparedStatement = conn.prepareStatement("select * from text_a where projectName = ? ");-->
    reparedStatement myPreparedStatement = conn.prepareStatement("select * from text_a where projectName in ? ");
      

  2.   

    --tryString List = "('aa', 'bb')"; 
    PreparedStatement myPreparedStatement = conn.prepareStatement("select * from text_a where projectName in ('aa', 'bb') ");
      

  3.   

    to wangtiecheng:
    reparedStatement 怎么用,能具体一些吗?
    to marco08:
    如果按照您说的那样,效率就不会有任何变化了,那样就用不着PreparedStatement 了,能提供一些别的解决方法吗?