postgresql中的PreparedStatement问题(选择查询)

时间:2018-03-28 11:00:38

标签: java sql oracle postgresql

我正在尝试使用预准备语句代替简单的语句执行。当我运行查询时,它会抛出一个错误。我正在尝试两种方法来准备语句查询。

一个是使用?在参数

SELECT b.*,p.value,d.value as dps 
FROM emp b,
     dept p,
     salary d 
where projectid= ? 
  and p.id= ? 
  and d.id= ?

第二个是使用命名参数

SELECT b.*,p.value,d.value as dps 
FROM emp b,
     dept p,
     salary d 
where projectid= :projectid 
  and p.id= :id 
  and d.id= :dps

当我尝试设置参数时

psmt.setString(1, projectid);
psmt.setInt(2, id);
psmt.setInt(3, dps);

它会抛出错误

  

"不能使用带有查询字符串的查询方法   的PreparedStatement"

是否有任何jar文件要添加到项目lib文件夹中,如果我再次使用psmt.setString("projectid",projectid);则会抛出错误。

0 个答案:

没有答案