我们有一个与sybase iq数据库对话的小型jdbc应用程序,它会:
String objectName = "SYS.SYSWEBSERVICE";
//The actual value of objectName does not matter.
//It could be any view object in the sys schema
PreparedStatement preparedStatement =
connection.prepareStatement("SELECT OBJECT_ID(?)");
preparedStatement.setString(1, objectName);
preparedStatement.executeQuery();
我们得到以下错误:
java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 0.s
我查看了http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc39001.0700/html/prjdbc0700/chdgjjig.htm
JZ0SA: Prepared Statement: Input parameter not set, index: _____.
Action: Be sure that each input parameter has a value.
当我更改代码时
setString(0, objectName)
我得到的是:
java.lang.ArrayIndexOutOfBoundsException: -1
at com.sybase.jdbc4.jdbc.SybPreparedStatement.a(Unknown Source)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.a(Unknown Source)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.a(Unknown Source)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.setString(Unknown Source)
我们正在使用jconn-4.0.jar:
Manifest-Version: 1.0
Created-By: 1.6.0_03 (Sun Microsystems Inc.)
Main-Class: SybVersion
Name: com/sybase/jdbcx/
Implementation-Vendor: "Sybase, Inc."
Specification-Title: "jConnect for JDBC 4.0"
Implementation-Title: "com.sybase.jdbcx"
Implementation-Version: "Build (26502)"
Specification-Version: "7.0"
Specification-Vendor: "Sybase, Inc."
有人能告诉我我做错了什么吗?谢谢你。
尽管API文档可能会说什么,但我认为参数索引必须是从零开始的,也许这是您正在使用的JDBC驱动程序中的一个bug。尝试使用从零开始的索引。setString(0,....);
问题内容: 我正在尝试使用Java中的PreparedStatement执行查询。 尝试执行查询时出现错误号1064(语法错误)。 我已经在MySQL查询浏览器中使用替代值测试了此方法,效果很好。 我的代码有什么问题? 以下是相关代码: 这是我得到的例外: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法有错误;检查与您
问题内容: 我正在使用Eclipse Java EE进行Web应用程序项目。当前,我的应用程序返回数据库中存储员工个人信息的所有值。但是,我设置了默认的准备语句以搜索表employee_id = 1234,而不是登录员工的employee_id。这意味着无论哪个员工登录到我的系统,它都只会显示该员工的个人信息。 ID为1234,如下面的准备语句所示: 请注意上面的employeeID如何设置为12
问题内容: 该声明是 并通过java.sql.PreparedStatement’stmt’插入参数 如果为null,则在每种情况下该语句均不返回任何行,因为它始终为false(应为)。一种解决方案是 但是然后我必须两次设置相同的参数。有更好的解决方案吗? 谢谢! 问题答案: 我一直按照您在问题中所表现的方式来做。两次设置相同的参数不是很大的困难,不是吗?
问题内容: 我知道的版本的具有功能合并多个文件到一个新的。 但是该版本的API不再支持该功能。 关于如何将目录中的所有文件合并到hadoop版本的新单个文件中的任何想法? 问题答案: FileUtil#copyMerge方法已被删除。查看主要更改的详细信息: https://issues.apache.org/jira/browse/HADOOP-12967 https://issues.apac
问题内容: 我似乎无法找出如何在Swift 2中进行操作。 我试着做 那不行 helloworld是一个变量 问题答案: 是。在swift 2.0中进行了更改,您需要访问Apple网站。放而不是
问题内容: 以下是我用来设置状态的代码。 即使成功创建了数据库,也无法调用,因为它始终是未定义的。 我试过了: 但是它仍然失败,尝试使用和使用,仍然没有运气。 我该如何解决? 问题答案: 您需要将正确的(类上下文)与回调方法绑定在一起,然后只有您才能访问类的属性和方法。 可能的解决方案: 1- 使用 箭头功能 ,如下所示: 2- 或与一起使用,如下所示: 您使用的方式也将起作用,保存方法内部的引用