代码在下面,一般情况下,这个函数都能正常执行,有时会返回1,也就是说没查到记录,但实际是有的。
是链接问题吗?MYSQL链接有什么特殊的说法吗?
请说明可能出现这种情况的原因,拜谢! public static Integer getId(String tableName) 
{
Integer id = 0;
PreparedStatement ps = null;
ResultSet rs = null;
Connection con = null;
String sql = " select max(id) as mid from "+tableName ;
try 
{
con = DBUtil.getConnection();
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next())
{
id = rs.getInt("mid");
}

catch (SQLException e) 
{
e.printStackTrace();
}
finally
{
try 
{
rs.close();
ps.close();
} catch (SQLException e) 
{
e.printStackTrace();
}
}
return id+1;
}

解决方案 »

  1.   

    服务器在领导屋里,还没看。请问该怎么查看该异常的LOG还有:就算异常了,finally 执行完了不就结束了吗?最后的return 还能执行吗?
      

  2.   

    当然能执行。因为它遇到异常的时候,只是打印异常,并没有throw异常。两码事。
      

  3.   


    哦,是TRY出错后的代码不能执行,谢谢,我查查异常。除了没记录就是异常了。