gpt4 book ai didi

java - 简单的 getColumnName(0) 调用抛出无效的列索引 : getValidColumnIndex

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:04:08 24 4
gpt4 key购买 nike

我正在尝试编写一个 JTable,它从 ResultSet 获取数据并使用它来创建一个动态大小的表,其中包含来自 ResultSet 的适当的列名和行数据值,但我无法让 JDBC 获取列名对我来说是动态的。

我知道我的 select 语句很好!我可以使用我编写的 ResultPrinter 类轻松打印结果,但由于某种原因我似乎无法获取列名。

代码:http://pastebin.com/SSNdCkNu

输出:

Connected to DB!  
SNUM, SNAME, STATUS, CITY, SUPPLIERS_ID_SEQ // printed by static Suppliers class
Columns: 5 // result set shows there are 5 valid columns as expected
Exception in thread "main" java.sql.SQLException: Invalid column index: getValidColumnIndex
at oracle.jdbc.driver.OracleResultSetMetaData.getValidColumnIndex(OracleResultSetMetaData.java:138)
at oracle.jdbc.driver.OracleResultSetMetaData.getColumnName(OracleResultSetMetaData.java:306)
at Main.main(Main.java:15)

最佳答案

JDBC 列索引从 1 开始,而不是 0。尽可能使用列名检索数据,以避免对结果中列顺序的硬依赖。

关于java - 简单的 getColumnName(0) 调用抛出无效的列索引 : getValidColumnIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12787909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com