[问题] JAVA从DB捞取资料的问题

楼主: sthermit ( )   2014-12-27 11:51:26
不好意思我又来请教各位
最近开发程式遇到一个bug
可是我想不出来可能的原因,也抓不到重点去google
小弟最近在做一个批价计算系统
设计一个每日累计与每月累计的表格
针对各个使用者累积价钱
流程大概是
有一个定时写入批价系统的表格A
我写的程式也是定时从表格A得取资料进行批价,并且累计在每日与每月的表格
我使用Quartz做排程
每次启动时会从每日与每月的表格读取资料
批价时,有资料就做累计
批完之后更新回数据库
有测试过从开始到及结束更新回数据库都是可以运作的
现在遇到一个bug是
当程式在第一次从DB捞取资料,之后.....完成后
时间到再次的从DB捞取资料,会发生读到的是没有包含第一次累积结果的资料
完全想不到问题在哪,只好来请教各位
在此先感谢大家
作者: mozzan (mozzan)   2014-12-28 09:04:00
要不要贴一下你捞DB的程式
作者: DeathWatch (爱情模糊理论)   2014-12-28 11:42:00
条件逻辑会不会写错了才捞不到
作者: ssccg (23)   2014-12-29 11:42:00
老实说看不懂到底你是读哪个table,更新哪个table前面说读A,写到每日(B?)和每月(C?)下一段变从每日(B?)和每月(C?)读,然后更新回数据库(B,C?)如果是前者,那A又没更新?如果是后者,"测试过...都是可以运作的"这句,是指你看过数据库中的资料在排程执行前后,资料是有变动的?然后资料已修改且commit,但select出来是commit前的资料?程式码看起来又像有在内存留一份资料,所以流程到底是?
作者: swpoker (swpoker)   2014-12-29 15:37:00
你都说是bug了~那就不关流程的问题~根本就是程式有问题把完整的贴出来就知道了~你只贴前面一部分而已
作者: adrianshum (Alien)   2013-01-01 07:12:00
这样除非很幸运,不然很难会找到 bug. 建议你找个工具(jdbcdslog之类),看看你真正跑的 SQL 和传回的record是不是正确,(我不太相信DB会无故return少了record)先确认问题出来 DB 捞data,还是之后的处理吧.

Links booklink

Contact Us: admin [ a t ] ucptt.com