日期:2014-05-18  浏览次数:20684 次

JAVA的程序中不定期的出现数据库查询的结果为空,
JAVA的程序中不定期的出现数据库查询的结果为空,知道为什么吗?服务器为tomcat


------解决方案--------------------
你可以跟踪一下你查询的sql语句,看看是不是查询条件改变了..数据可能查不出来...如果装了PLSQL,用它去测试你的查询语句是否正确并且符合条件..
------解决方案--------------------
我觉得是你的程序的问题,可能是某处的逻辑不对。当执行到某种程序的时候就会出现访问数据库反回空或传值失败出玩空指针游标等。
你还是帖贴你的代码吧。光说也很难说清楚

------解决方案--------------------
同意楼上的
------解决方案--------------------
应该是程序的问题,统计一下在什么情况下出现错误,肯定有规律的!
------解决方案--------------------
1.把每次丢到数据库执行的sql都打印出来。看看是不是语句有问题
2.同样的语句,有时有,有时没有,重启mysql后有,过一段时间就又时有时无了,可能前面有sql把满足查询条件的记录更新或删除了呢,造成你查询没有
------解决方案--------------------
这种时有时无的情况太难调查了。一般来说问题出现程序的逻辑中,
Session没有关闭,查询条件发生变化等等。
仔细检查一下,呵呵。
------解决方案--------------------
应该是你的sql语句没有遵守ACID的基准
------解决方案--------------------
我估计像这样

select * from 表 where id = ?

也许执行的过程中 ? 变了呢
------解决方案--------------------
单个sql语句没问题,不代表你程序中不触动sql的语句吧。。。。或别的改变了呢。
要说清楚别人才能帮你分析,用到什么,怎么连的库。。。如果只是select * from table执行不会有问题吧。。。不参与别的逻辑