我正在使用JDBC连接从Access数据库中获取数据。 数据库设计不是我的控制。在数据库中有列有“?”包括在他们的名字中,例如:Open?
,Paid?
,以及更多。带有“?”的JDBC PreparedStatement列名
当我尝试使用PreparedStatement获取数据时,它给了我一个错误。查询是:
SELECT Open? FROM tblJobList WHERE WeekEnding=?
我还试图用括号像[Open?]
,但结果是一样的。
我收到的错误是“参数太少......”,因为我只将一个参数推入PreparedStatement。
由于WeekEnding=?
的原因,我无法使用正常语句,因为此值是Timestamp,我无法使用Statement处理它。只有准备好的声明才适用
任何人都可以告诉我如何在PreparedStatement中使用这些列名称?
不确定,但是您是否尝试将'?'本身作为第一个参数,将'WeekEnding'作为第二个参数? – SudoRahul 2013-05-08 03:01:54
不,我没有。让我试试 – 2013-05-08 03:22:58
它创建了一个更多的错误。早些时候它是说它的短暂的1参数现在它说2短参数 – 2013-05-08 03:27:17