我想用JDBC得到pig表里最大的id(number类型的),我在sqlplus里输入select max(id) pig;能看到 MAX(ID)的值 是22,但在JDBC里得到的值总是0,代码如下(省略部分代码,应该跟那些代码无关):
String sql = "select max(id) from pig";
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int max = 5;
while (rs.next()) {
max = rs.getInt(1);
System.out.println(max);
}
折磨了我半天了,求教各位!!
String sql = "select max(id) from pig";
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int max = 5;
while (rs.next()) {
max = rs.getInt(1);
System.out.println(max);
}
折磨了我半天了,求教各位!!
如果不能的话并且还是0的话,可能是max = rs.getInt(1);
有误,也有可能像楼上所说的缺少“;”
2,把Sql摘出来单独执行下看看。
3,如2还不行执行“select id from pig”看看。
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int max = 5;
while (rs.next()) {
max = rs.getInt(1);
System.out.println(max);
}
从代码上看也没有什么错误的。你用的应该是oracle 是不是在sqlplus 里插入的数据没有commit啊!
我只能这样想了。关注。
我用的是oracle;
我说的口误,指的是帖子的第一行里,不是指代码的第一行;感谢各位了
没有commit能查出来数据