gpt4 book ai didi

java - SQL 查询包含选定的自动增量行时无法执行

转载 作者:行者123 更新时间:2023-11-29 05:11:35 31 4
gpt4 key购买 nike

我在一个 java 类中有一个方法 SELECT我数据库中表中的一列,该列是 INT输入数据库,然后我从该列中选择项目,输入 List<Long>方法返回此 List .方法如下:

public List<Long> vratiSveSifreRacuna() throws SQLException {
String sqlVratiSifruRacuna = "SELECT RacunID FROM racun";

Statement stat = konekcija.createStatement();
ResultSet rs = stat.executeQuery(sqlVratiSifruRacuna);

Long racunID = 0L;
List<Long> sifre = new ArrayList<>();

while (rs.next()){
//racunID = rs.getLong("RacunID");
sifre.add(new Long(rs.getInt("RacunID")));
}
return sifre;
}

问题是,当我开始逐行调试时,在这一行:

ResultSet rs = stat.executeQuery(sqlVratiSifruRacuna);

它崩溃了,它在异常时跳转。它不能执行这个查询,我不知道为什么,因为类似的查询它执行得很好。你知道可能是什么问题吗?问题可能是因为我要选择的列是自动增量和主键吗?我不知道……

最佳答案

您的公共(public)(假设静态)方法需要将连接对象作为参数传递给它,因为它在本地范围内不可用:

public static List<Long> vratiSveSifreRacuna(Connection konekcija) throws SQLException {

String sqlVratiSifruRacuna = "SELECT RacunID FROM racun";

Statement stat = konekcija.createStatement();
ResultSet rs = stat.executeQuery(sqlVratiSifruRacuna);

否则在本地上下文中包含连接:

public static List<Long> vratiSveSifreRacuna(String url, String username, String password) throws SQLException {

Connection konekcija = DriverManager.getConnection(url, username, password);

String sqlVratiSifruRacuna = "SELECT RacunID FROM racun";

Statement stat = konekcija.createStatement();
ResultSet rs = stat.executeQuery(sqlVratiSifruRacuna);

关于java - SQL 查询包含选定的自动增量行时无法执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38534494/

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