gpt4 book ai didi

java - 从 ResultSet 读取时出现 SQLException "Column ' java.lang.Integer' not found"

转载 作者:行者123 更新时间:2023-12-02 04:33:43 24 4
gpt4 key购买 nike

我正在尝试进行一些基本的 ResultSet 到 JSONArray 转换。

有问题的代码如下:

ResultSetMetaData rsmd = rs.getMetaData();
JSONObject obj = new JSONObject();

String column_name = rsmd.getColumnClassName(1);

if(rsmd.getColumType(i) == java.sql.Types.Integer) {
obj.put(column_name, rs.getInt(column_name));
}

当我将代码发布到网络服务器并点击页面时,它会抛出以下错误:

java.sql.SQLException: Column 'java.lang.Integer' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:937)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:872)
at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1073)
at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2571)
at com.sun.gjc.spi.base.ResultSetWrapper.getInt(ResultSetWrapper.java:482)
at com.pododdle.util.ToJSON.toJSONArray(ToJSON.java:58)
atcom.pododdle.restful.resources.CategoryResource.returnCategories(CategoryResource.java:44)

这有点疯狂,因为它提示找不到 java.lang.Integer - 一个核心 java 类!!!!

当我使用等效字符串时,它也会失败,并说它也找不到 java.lang.String。

请帮忙。我开始失去理智了。

PS 我不知道这是否相关,但 Maven 不会自动更新我想要的任何新依赖项,所以我手动添加它们。我不知道这是否表明我的安装中存在更大的问题 - 这是相当新鲜的 - 昨天才在我的新机器上安装了 eclipse 等。

最佳答案

您正在使用 rsmd.getColumnClassName(1) 作为列名称。现在显然是方法ResultSetMetaData.getColumnClassName返回该列的类名称。在您的情况下,此列存储一个整数值,因此返回 java.lang.Integer。尝试使用ResultSetMetaData.getColumnName而是获取列的名称

关于java - 从 ResultSet 读取时出现 SQLException "Column ' java.lang.Integer' not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31102994/

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