导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

紧急求助,有关水电表抄表的数据库设计问题

ken2002 2003-12-09 09:21:49

我现在正在做一个项目,现在做到关于水电表抄表时,遇到以下两个问题,不知该如何解决,具体问题如下:
一、有一个电表,一直都在使用,到了2003年6月份的时候,表读数是180度电,可是到了6月15日的时候,这个电表坏了,当时的表读数是200度电,这时就需要换电表了,于是就换了一个底数为30度的电表,到了6月30日的时候,这个电表就走到50度,因此,6月份的用电量就是(200-180)+(50-30)=40度电,但是我如何记录这个电表上月的读数和本月的读数呢?
二、有一个水表,最大的读数是10000吨,现在遇到这种情况,在2003年8月份的时候,表的读数是9980吨,到了8月30日抄表的时候,表的读数是30吨,因此,8月份的用水量就是(10000-9980+30)=50吨,但是我要如何记录这个水表的上月读数和本月读数呢,如果我再第二次超过10000吨(即这个水表转了两圈了),我又要如何解决呢?

我的表结构是如下定义的,每一个表在一个月内只有一条记录
Copy_Month(抄表月) Code_ID(水电表ID) ThisReading(本月读数) LastReading(上月读数)
200302 01 1000 800
200303 01 1200 1000
200304 02 9000 8800
200304 02 9200 9000

以上表设计的目的是当用户在抄表的时候,可以生成一个模版化的界面,用户只需录入本月读数就可以了



对于这个问题,我该如何解决呀,多谢大家了!
...全文
89 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ken2002 2003-12-10
To cdwq88(不能没有你)

你好象挺忙的,想和你交流一下,你都没有时间呀
回复
ken2002 2003-12-09
回复人: echo() ( ) 信誉:100 2003-12-09 11:08:00 得分:0


表结构:
Copy_Month(抄表日期)Code_ID(水电表ID)Reading(度数)note (额外说明)

我觉得这样设计表结构比较合理





那我如何记录本月读数和上月读数哟
回复
echo 2003-12-09
表结构:
Copy_Month(抄表日期)Code_ID(水电表ID)Reading(度数)note (额外说明)

我觉得这样设计表结构比较合理
回复
dlpseeyou 2003-12-09
ding一下
回复
ken2002 2003-12-09
To cdwq88(不能没有你)

你现在不在线上么,能不能让我看看你的系统具体是如何实现的呢,多谢你了
回复
cdwq88 2003-12-09
MSN:cdwq88@263.net
回复
yoki 2003-12-09
1:你可以加一个字段[修正值]存储换表的修正值
2:你可以加一个字段[圈数],每次过了10000吨时就加一
回复
ken2002 2003-12-09
To cdwq88(不能没有你)

多谢你了,我的Email(MSN):js_dev@163.com
你的Email:cdwq88@163.com也是你的MSN么?
回复
cdwq88 2003-12-09
老兄我给一花园做了一套物业管理软件,也设计到这个问题,我的解决办法
:一张住户变化记录表、一张就是按表读数的明细表(记录抄表期间的读数)。
如果住户要换表就在住户变化记录表中记录下换表前的起数、止数以及
新表的起数,同时自动修改当前月的按表读数的当前表的起数为新表的起数、
其中这张按表读数的明细表中有一字段:换表前的余数,本月新表读数
加上换表前的余数就是本月的实际读数了。也可以查询住户换表的历史记录等。

你的第二个问题也类似,可以Email:cdwq88@163.com交流交流。我开发的这套
物业管理软件非常不错,功能也非常强大,比很多专业物管公司开发的都还
优秀!
回复
victorycyz 2003-12-09
建议表结构做如下调整:

copy_month, code_id,qty,Adjust_Qty

上月读数不需要一个字段。adjust_qty用来记录异常情况下的数值调整。
如第一种情况下的记录值:
200306,01,180,0
200307,01, 50,170 (200-30)
第二种情况下:
200308,02,9980,0
200309,02, 30,10000
回复
ken2002 2003-12-09
我的表结构是如下定义的,每一个表在一个月内只有一条记录
Copy_Month(抄表月)Code_ID(水电表ID)ThisReading(本月数)LastReading(上月数)
200302 01 1000 800
200303 01 1200 1000
200304 02 9000 8800
200305 02 9200 9000

这个记录才是正确的,只是改了最后一条记录,即把200304改为了200305
回复
ken2002 2003-12-09
我的表结构是如下定义的,每一个表在一个月内只有一条记录
Copy_Month(抄表月)Code_ID(水电表ID)ThisReading(本月数)LastReading(上月数)
200302 01 1000 800
200303 01 1200 1000
200304 02 9000 8800
200304 02 9200 9000
回复
echo 2003-12-09
"抄表日期"字段记录读数日期.通过这个日期就可以分出是哪月的读数
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告