java - 使用准备好的语句进行选择查询时获取 SQL 异常

标签 java db2 sqlexception

StringBuilder sqlQry = new StringBuilder();
sqlQry.append("SELECT LIB, PATH")
.append(" FROM OBJ")
.append(" INNER JOIN SRC ON SRC.MBR = OBJ.LOBJ")
.append(" WHERE  TYPE = '*PGM'")
.append(" AND SRC.PATH LIKE '").append("?").append("%'");

PreparedStatement ps = accssConn.prepareStatement(sqlQry.toString());
ps.setString(1, path);

rs = ps.executeQuery();

大家好, 我收到以下异常

[jcc][10145][10844][3.63.123] Invalid parameter 1: Parameter index is out of range. ERRORCODE=-4461, SQLSTATE=42815

列限制为 255,路径为 = "C:\Documents and Settings\xyz\Desktop\xyzs"并且语句运行良好。那么,它在准备好的语句中抛出异常的原因是什么。

最佳答案

StringBuilder sqlQry = new StringBuilder();

sqlQry.append("SELECT LIB, PATH")
.append(" FROM OBJ")
.append(" INNER JOIN SRC ON SRC.MBR = OBJ.LOBJ")
.append(" WHERE  TYPE = '*PGM'")
.append(" AND SRC.PATH LIKE ").append("?");

PreparedStatement ps = accssConn.prepareStatement(sqlQry.toString());

ps.setString(1, path + "%");

关于java - 使用准备好的语句进行选择查询时获取 SQL 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12399879/

相关文章:

java.sql.SQLException : No value specified for parameter 2 异常

.net - 如何正确捕获 SqlException : A transport-level error has occurred

java - 可变对象的 hashCode() 是否有用?

c# - 无法使用 Gson 反序列化 byte[]

java - 需要帮助优化涉及数百万条记录的非常慢的 DB2 SQL 查询

java - DB2 SQL 错误 : -803 when inserting into two related tables

java - 如何关闭一个框架并打开另一个框架?

java - 如何在 Vaadin 8 中有条件地为网格行着色?

sql - SAS、proc Summary 中哪个统计计算速度更快?

java - 在闪存驱动器上运行 Apache Derby