gpt4 book ai didi

java - getInt 方法未从数据库表返回值

转载 作者:行者123 更新时间:2023-12-01 12:48:16 27 4
gpt4 key购买 nike

我有一个如下定义的 oracle 表:

create table image_table_test (id number primary key, image ordsys.ordimage);

当我尝试在该表中选择最大 ID 值并将其返回到 java 变量中时,使用下面的代码,它返回零值,但表中的值设置为 1。rsx.getInt("ID");方法没有从表中返回整数值。

我的表当我执行 SELECT MAX(ID) as ID FROM image_table_test; 时:

ID
1

我的java代码:

Statement stmt;

try{
stmt = conn.createStatement();

String maxIdStr = "";
int maxIdNum = 0;

String maxIdSQL = "SELECT MAX(ID) as ID FROM image_table_test";
ResultSet rsx = stmt.executeQuery(maxIdSQL);

while(rsx.next()){
maxIdNum = rsx.getInt("ID"); // Here the value is passed as 0
}

maxIdNum = maxIdNum + 1;
maxIdStr = Integer.toString(maxIdNum);

System.out.println(maxIdStr);
rsx.close();
stmt.close();

如果您知道为什么会发生这种情况,我将不胜感激?

最佳答案

你的代码没问题,但我不相信你的查询结果。

尝试在 maxIdNum 上设置负值以查看是否从查询中获得结果。

int maxIdNum = -1;

您可以做的另一个测试是将 rsx.getInt("ID"); 替换为 rs.getString("ID"); 以了解结果是否为string 在 int 的情况下会失败,因此将帮助您隔离问题。

您可以做的另一件事是设置带有硬编码结果的查询,以了解是否存在其他问题:

select 1 as ID from dual

关于java - getInt 方法未从数据库表返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24472224/

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