【发布时间】:2013-05-02 03:59:24
【问题描述】:
我正在使用 JDBC 连接从 Access 数据库中获取数据。
数据库设计不是我的控制。在数据库中有包含“?”的列。包括在他们的名字中,例如:Open?、Paid? 等等。
当我尝试使用 PreparedStatement 获取数据时,它给了我一个错误。查询是:
SELECT Open? FROM tblJobList WHERE WeekEnding=?
我也试过用[Open?]这样的方括号,但结果是一样的。
我收到的错误是“参数太少...”,因为我只将一个参数推送到 PreparedStatement 中。
由于WeekEnding=?,我无法使用普通语句,因为该值是时间戳,我无法使用语句来处理它。只有准备好的语句在这里有效。
谁能告诉我如何在 PreparedStatement 中使用这些列名?
【问题讨论】:
-
不确定,但您是否尝试将
?本身作为第一个参数并将WeekEnding值作为第二个参数传递? -
不,我没有。让我试试
-
它又产生了一个错误。早些时候它说它在 1 参数上的短,现在它在 2 参数上说短
标签: java ms-access jdbc prepared-statement