} // try-finally
return wab30m;
}
==============================
数据库中dwg_no值 : 4449DS626CNH02 4449DS626CNH04 这两个值都存在
当调用这个函数时,参数为4449DS626CNH02 时. 执行到if(rs.next())时可以继续往下执行,当参数值为4449DS626CNH04 时, 执行到if(rs.next())时就会直接跳到else语句上. 这是什么原因??,好奇怪..
------解决方案--------------------数据库中的数据有空格感觉.
建议:
1) " where dwg_no = ? ";改为 " where dwg_no like ? ";
2)pstmt.setString(1,dwg_no.trim()+ "% ");
这样试一试.
------解决方案--------------------重说一下,刚才没有仔细看你的代码:)
rs初始的时候是指向第一条数据,如果rs为空rs.isAfterLast()为真也就是你IF里的条件应该是(!rs.isAfterLast())
next()是要移动rs的指针的,当你的查询结果只有一条的时候,肯定要执行else后面的语句
也就是说
4449DS626CNH02符合这个值的数据应该在一条以上
4449DS626CNH04符合这个值的数据只有一条
------解决方案--------------------重说一下,刚才没有仔细看你的代码:)
rs初始的时候是指向第一条数据,如果rs为空rs.isAfterLast()为真也就是你IF里的条件应该是(!rs.isAfterLast())
next()是要移动rs的指针的,当你的查询结果只有一条的时候,肯定要执行else后面的语句
也就是说
4449DS626CNH02符合这个值的数据应该在一条以上
4449DS626CNH04符合这个值的数据只有一条
==========================================
rs初始的时候是指向第一条数据的上面。而不是指向第一条数据