我使用prepareStatement()进行数据库查询时,发现如果将数据表的名称作为参数的话
就会出现:[SQLServer 2000 Driver for JDBC][SQLServer]必须声明变量 '@P1'
这个错误,不知道该如何解决????(仍然以参数传递数据表的名称)

解决方案 »

  1.   

    我的意思是当我将一个表的名称作为参数传递到一个方法中,然后这样使用:PreparedStatement ps = connect.prepareStatement("select * from ?;");
    ps.setString(1,'表名');
    ps.executeQuery()
    就会出现错误,现在想要知道的就是:如何解决这个错误?同时,让表名仍然作为参数?
    不知现在说明白了没有???
      

  2.   

    http://www.javaeye.com/topic/284218
      

  3.   

    你直接用字符串拼接试一下被,PreparedStatement ps = connect.prepareStatement("select * from ‘”+tableName+“’");
    不知道行不行。  想写通用接口啊?