“逃脱”绑定变量?在JDBC SQL搜索中

时间:2013-07-17 20:17:29

标签: java sql jdbc escaping bind-variables

所以我用Java编写代码,使用JDBC和SQL从数据库中获取数据。我无法更新数据库中的数据或列名称。一切都很顺利,直到我今天被告知需要另一列数据库。

所以我尝试将列名添加到select语句中,但是我收到错误:

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

以下是列的变量和名称:String \ test =“\”Estimates Complete?\“”;

所以经过大量的研究,似乎在JDBC中有一个叫做“绑定变量”的东西?碰巧就是其中之一。我一直在寻找关于如何创建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();

1 个答案:

答案 0 :(得分:0)