所以我用 Java 进行编码,使用 JDBC 和 SQL 从数据库获取数据。我无法更改数据库中的数据或列名。一切都很顺利,直到今天我被告知需要数据库的另一列。
所以我尝试将列名添加到 select 语句中,但是出现错误:
“java.sql.SQLException:[Microsoft][ODBC Microsoft Access 驱动程序]参数太少。应为 2 个。”
以下是该列的变量和名称:String est = "\"Estimates Complete?\"";
经过大量研究,似乎 JDBC 中有一种叫做“绑定(bind)变量”的东西,?恰好是其中之一。我一直在寻找有关如何创建绑定(bind)变量的论坛帖子和答案,但没有找到有关如何“转义”它们的信息。我无法更改“估算完成”的值吗?列,我的程序需要它。
如果我尝试 String est = "Estimates Complete?";,那么我得到的错误是:
java.sql.SQLException:[Microsoft][ODBC Microsoft Access 驱动程序]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();
最佳答案
可以更换吗?与 chr(63) 就像这里的答案一样:
How to avoid ODBC parameterization for the question mark character ? within literals and comments?
关于java - "Escape"绑定(bind)变量?在 JDBC SQL 搜索中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17709402/