3

所以我用 Java 编码,使用 JDBC 和 SQL 从数据库中获取数据。我无法更改数据库中的数据或列名。直到今天我被告知需要数据库的另一列之前,一切都运行良好。

因此,我尝试将列名添加到 select 语句中,但是出现错误:

“java.sql.SQLException:[Microsoft][ODBC Microsoft Access Driver] 参数太少。应为 2。”

这是列的变量和名称: String est = "\"Estimates Complete?\"";

因此,经过大量研究,似乎 JDBC 中有一种叫做“绑定变量”的东西,并且?恰好是其中之一。我一直在寻找有关如何创建绑定变量的论坛帖子和答案,但没有找到有关如何“转义”它们的信息。我无法更改 Estimates Complete 的值?列,我的程序需要它。

如果我尝试 String est = "Estimates Complete?";,那么我得到的错误是:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]COUNT 字段不正确

有谁知道这是否可能?谢谢。

编辑:代码示例:

Statement s = conn.createStatement();
String tableName = "\"Open WRs V2\"", data1 = "\"Project Name\"",est = "Estimates Complete?";
String selTable = "SELECT " + data1  + "," + est+ " FROM " + tableName;
s.execute(selTable);
ResultSet rs = s.getResultSet();
while ((rs.next())) {
    String name = (rs.getString(1));
    String estimate= rs.getString(2);
    System.out.println("test: "+estmate);
}
s.close();
4

1 回答 1

0

你能换吗?使用 chr(63) 就像这里的答案一样:

如何避免问号字符的 ODBC 参数化?在文字和评论中?

于 2013-07-26T13:54:04.230 回答