java 板


LINE

不好意思我又来请教各位 最近开发程式遇到一个bug 可是我想不出来可能的原因,也抓不到重点去google 小弟最近在做一个批价计算系统 设计一个每日累计与每月累计的表格 针对各个使用者累积价钱 流程大概是 有一个定时写入批价系统的表格A 我写的程式也是定时从表格A得取资料进行批价,并且累计在每日与每月的表格 我使用Quartz做排程 每次启动时会从每日与每月的表格读取资料 批价时,有资料就做累计 批完之後更新回资料库 有测试过从开始到及结束更新回资料库都是可以运作的 现在遇到一个bug是 当程式在第一次从DB捞取资料,之後.....完成後 时间到再次的从DB捞取资料,会发生读到的是没有包含第一次累积结果的资料 完全想不到问题在哪,只好来请教各位 在此先感谢大家 ------------- 我捞db的CODE private void setCurrentMap(){ try { sql= "SELECT A.IMSI,A.CHARGE,A.LAST_FILEID,A.SMS_TIMES, A.LAST_DATA_TIME,A.VOLUME,A.MONTH,A.EVER_SUSPEND, A.LAST_ALERN_THRESHOLD,A.LAST_ALERN_VOLUME " + "FROM HUR_CURRENT A " + "WHERE A.MONTH IN ('"+sYearmonth+"','"+sYearmonth2+"') "; Statement st = conn.createStatement(); logger.debug("Execute SQL : "+sql); ResultSet rs = st.executeQuery(sql); logger.debug("Set current map..."); while(rs.next()){ Map<String,Object> map=new HashMap<String,Object>(); Map<String,Map<String,Object>> map2=new HashMap<String,Map<String,Object>>(); String imsi =rs.getString("IMSI"); String month=rs.getString("MONTH"); if(currentMap.containsKey(month)){ map2=currentMap.get(month); } map.put("LAST_FILEID", rs.getInt("LAST_FILEID")); map.put("SMS_TIMES", rs.getInt("SMS_TIMES")); map.put("LAST_DATA_TIME", (rs.getDate("LAST_DATA_TIME")!=null? rs.getDate("LAST_DATA_TIME"):new Date())); map.put("CHARGE", rs.getDouble("CHARGE")); map.put("VOLUME", rs.getDouble("VOLUME")); map.put("EVER_SUSPEND", rs.getString("EVER_SUSPEND")); map.put("LAST_ALERN_THRESHOLD", rs.getDouble("LAST_ALERN_THRESHOLD")); map.put("LAST_ALERN_VOLUME", rs.getDouble("LAST_ALERN_VOLUME")); map2.put(imsi, map); currentMap.put(month,map2); } st.close(); rs.close(); } catch (SQLException e) { logger.error("At setCurrentMap occur SQLException error", e); } } --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.132.72.213
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1419652289.A.BCF.html
1F:推 mozzan: 要不要贴一下你捞DB的程式 12/28 09:04
程式码已贴上,排版可能有点伤眼,请见谅
2F:→ DeathWatch: 条件逻辑会不会写错了才捞不到 12/28 11:42
我的条件是依照日期取出,应该不会捞不到 状况是 第一次处理 原始资料 A,A经过处理过後的资料 =>B 时间到再次处理 一样捞取到A,而不是捞取到B 这边感觉到困惑,先感谢两位 ※ 编辑: sthermit (220.132.72.213), 12/29/2014 10:44:37
3F:→ ssccg: 老实说看不懂到底你是读哪个table,更新哪个table 12/29 11:42
4F:→ ssccg: 前面说读A,写到每日(B?)和每月(C?) 12/29 11:43
5F:→ ssccg: 下一段变从每日(B?)和每月(C?)读,然後更新回资料库(B,C?) 12/29 11:44
6F:→ ssccg: 如果是前者,那A又没更新? 12/29 11:49
7F:→ ssccg: 如果是後者,"测试过...都是可以运作的"这句,是指你看过 12/29 11:51
8F:→ ssccg: 资料库中的资料在排程执行前後,资料是有变动的? 12/29 11:51
9F:→ ssccg: 然後资料已修改且commit,但select出来是commit前的资料? 12/29 11:53
10F:→ ssccg: 程式码看起来又像有在记忆体留一份资料,所以流程到底是? 12/29 11:55
抱歉,我叙述能力不够好 流程是 从A读出来资料 从B读出资料 从C读出资料 A批价之後累计到B与C 最後更新A批价结果 更新B累计结果 更新C累计结果 有先把资料读出来放到记忆体後再使用 ※ 编辑: sthermit (220.132.72.213), 12/29/2014 12:03:15
11F:→ swpoker: 你都说是bug了~那就不关流程的问题~根本就是程式有问题 12/29 15:37
12F:→ swpoker: 把完整的贴出来就知道了~你只贴前面一部分而已 12/29 15:38
13F:→ adrianshum: 这样除非很幸运,不然很难会找到 bug. 建议你找个工具 01/01 07:12
14F:→ adrianshum: (jdbcdslog之类),看看你真正跑的 SQL 和传回的record 01/01 07:13
15F:→ adrianshum: 是不是正确,(我不太相信DB会无故return少了record) 01/01 07:14
16F:→ adrianshum: 先确认问题出来 DB 捞data,还是之後的处理吧. 01/01 07:14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP