sql语句的写法(100分)

  • 主题发起人 主题发起人 lyplay2
  • 开始时间 开始时间
L

lyplay2

Unregistered / Unconfirmed
GUEST, unregistred user!
一段计算结存额的程序:
计算要单独写一段代码
但不知如何写
96年本金为300元,利率为10% 利息为30元,当年存入20元 当年结存为350元,结转下年
97年本金为350元,利率为8% 利息为28元,当年存入10元 当年结存为380元,结转下年

96年结存=本金(300)+利息30(300*10)+存入额=350
97年本金=96年结存
表结构如下:
ND(年度) LN(利率) LX(利息) QCJC(期初结存) DNCR(当年存入) DNJC(当年结存)
如何只输入最初期初结存(何年何时不定)和历年利率及存入数。
自动计算出最终结存额,
并且每年的数据都应保存出来, 以便随时查询?

 
是偷懒吧
 
是什么数据库?
如果是Oracle(8.1.6以上版本)的话,一条SQL就搞定。
 
access2000+ado
 
写多少句都行
我打算把它做成一个函数
但感觉有点头痛
 
你还需建一个数据库表用来保存历年的利率,存入数,表结构如下:
年号 char(4),利率 decimal(4,3),存入数 decimal(10,2)
当你输入年号后就可按你的公式计算出结果
 
我的想法是先计算年份最小的(建立帐户时的)
然后次年期初结存=上年份结存(计算第二年)
再次年年期初结存=上年份结存(第三年)
..........
行吗
 
我很菜,请说明白些吗
还有每个人新建帐户时间不一

 
有人说游标太慢,太浪费资源
用SQL不能实现吗?
 
因为你这必须一行一行处理数据,个人认为游标是最好的处理方法了
 
楼上的那位老大,

能针对这个问题给个例子吗?
 
这个东西很头痛的,那个公式是固定的吗?
 
公式:
当年期初额=上年结存额
当年结存额=(当年期初额+当年存入数)+(当年期初额+当年存入数)*利率。
 
逐行扫描用table 的更好吧。
 
你的表信息是怎么建的,通用一个表么,说明白些,我认为一个银行的数据应该是
按年进行建表的,
在form.onshow 里加一个判断,是否更新数据,或加一个timer 时刻进行判断,或在
onkeypress里加一个时间判断。
如果时间是某年的最后一天进行更新;
table1.tablename:='2001.db';//上年的表
table2.tablename:='2002.db';//当年的表
table1.fieldbyname('当年期初额').asstring:=table2.fieldbyname('当年结存').asstring
将字符串转换成小数进行计算,完成后,
用 table2.append;
table2.fieldvalue['域名']:=字符串;
。。。。。。
table2.post;
就可以了
 
还有每个人新建帐户时间不一
你没有提供人员有关的字段
 
我用的是二个表
人员库

编号
姓名
性别
工作单位
。。。。。
存款库
编号
姓名
年份
期初额
利率
存入额
。。。。。
一年建一个表好象麻烦些。

 
还没有答案:(
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部