gpt4 book ai didi

java - 根据sql返回值设置java变量

转载 作者:行者123 更新时间:2023-12-01 09:23:53 25 4
gpt4 key购买 nike

我有以下问题:

如果数据库中存在条目,我需要设置一个 boolean 值 true。

        ResultSet rc1 = null;
int Counterval;
String url = "jdbc:db2://localhost:50000/dbname";
Connection conn = DriverManager.getConnection(url,"","");
Statement st = conn.createStatement();
String sqlmd="select count(*) as Counter from tablename where mdsum = '"+mdSum+"' and filename = '"+Filename+"'";

rc1=st.executeQuery(sqlmd);
Counterval=rc1.getInt("Counter");
System.out.println("VAL: "+Counterval);
conn.close();

我收到以下错误消息:

 [jcc][t4][1090][10899][4.19.26] Illigal operation to read at the current cursor position. ERRORCODE=-4476, SQLSTATE=02501

我该怎么做?如果这很重要,我会使用 DB2

感谢您提前提供的帮助。

流浪者

最佳答案

我不知道你是否尝试过这段代码,但如果你尝试过,你会得到什么样的异常?

您应该尝试 st.executeQuery 而不是 st.executeUpdate,然后比较 count() 函数的返回数量是否更大大于0

编辑:现在看到您编辑的问题中的异常:

A ResultSet cursor is initially positioned before the first row; the first call to the method next makes the first row the current row; the second call makes the second row the current row, and so on.

if (rc1.next()){
booleanVariable = true;
}

如果变量 resultSet (rc1) 返回某些内容,则这会将 boolean 变量设置为 true,这意味着数据库中存在根据您的查询的数据制成。如果它返回 false 则它是空的。

希望可以帮到你。问候。

关于java - 根据sql返回值设置java变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39996009/

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