- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
<分区>
我正在尝试从 java.sql.PreparedStatement 对象获取 ParameterMetaData。
虽然文档说它会在数据库出现问题时抛出 SQLException,但我目前收到的是 ArrayIndexOutOfBoundsException。
我正在使用这个 JDBC 驱动程序 URL:oracle.jdbc.driver.OracleDriver我有一个 ojdbc6.jar 和一个 64 位 JDK 1.6.0.45 正在使用中。
我正在做以下事情:
PreparedStatement stmt = myOracleConn.prepareStatement(sql);
preparedStatements.add(stmt);
ParameterMetaData bla2 = stmt.getParameterMetaData(); //this Line throws the Exception
我发现只有当我在 sql-String 中使用注释时才会发生这种情况。
所以,当我的 SQL 是:
1) (没有注释只有参数)
"SELECT * FROM DUAL WHERE 1 = ?" --> no error occurs
2) (注释和参数)
"/* mySampleComment */ SELECT * FROM DUAL WHERE 1 = ?" --> the indexoutofbounds exception occurs
3) (注释但无参数)
"/* mySampleComment */ SELECT * FROM DUAL WHERE 1 = 1" --> no error occurs
我想知道是否就是这样,我不能在我的 sql 中使用注释,或者我是否遗漏了什么......有人知道这件事吗?
编辑1:使用 --comments 而不是/**/会导致相同的行为。编辑2:似乎根本没有,我有一个很大的 SQL,其中包括
\n\t\t\t\t--great
哪个得到异常。当将其包含在仍然发布的示例 sql 中时,它将起作用
如果我遗漏了一些信息,请索取。提前致谢。
以下代码抛出异常: CallableStatement cs = ... cs.getParameterMetaData().getParameterType( columnIndex ); Caus
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我用java编写了一个简单的程序,它创建与Oracle数据库的连接并执行更新查询。 查询成功执行,但如果更新查询包含以“F”开头的列,则 prepareStatement.getParameterMe
我是一名优秀的程序员,十分优秀!