我是新程序员(刚开始接受我的程序员教育)。
我正在尝试使用SQL DB中的最后一个ID设置我的“ tempVenueId ”属性:(在这种情况下,idvenue = 12)
表名:会场
idvenue | name | address
-------------------------------
1 | Khar | 5
2 | SantaCruz | 3
3 | Sion | 2
4 | VT | 1
5 | newFort | 3
6 | Bandra | 2
7 | Worli | 1
8 | Sanpada | 3
9 | Joe | 2
10 | Sally | 1
11 | Elphiston | 2
12 | Currey Road | 1
我的代码:
Private int tempVenueId;
SqlRowSet rs1 = jdbc.queryForRowSet("SELECT MAX(idvenue) FROM venue;");
while(rs1.next())tempVenueId = rs1.getInt(0);
/*I have also tried with "while(rs1.next())tempVenueId = rs1.getInt(1);"
*/
在intelliJ中运行调试模式时,仍然无法正常工作
tempVenueId = 0
答案 0 :(得分:2)
索引来自 1 而不是 0 ,因此有两种解决方法:
while(rs1.next()){
tempVenueId = rs1.getInt(1);
break;
};
或
SqlRowSet rs1 = Jdbc.queryForRowSet("SELECT MAX(idvenue) as value FROM venue;");
while(rs1.next()){
tempVenueId = rs1.getInt("value");
break;
}
答案 1 :(得分:0)
已解决-此解决方案更容易....(我认为)。
String sql = "SELECT LAST_INSERT_ID();";
SqlRowSet rs = Jdbc.queryForRowSet(sql);
rs.next();
Venue VN = new Venue(rs.getInt(1));
tempVenueId = VN;