当前位置:编程学习 > C#/ASP.NET >>

求助C#取值计算..

数据库
类型
 ID   int
 Ecun   nvarchar(50) 
 Nqu    nvarchar(50) 




ID         Ecun      Nqu
1          2000      NULL
2          NULL      500 from m
3          500       null
4          null      455.5


请问我如何取出Ecun 的总和  然后减去Nqu  得出结果 (就像银行存取一样。。。算结余)  请各位帮帮忙。。谢谢   --------------------编程问答-------------------- 存一次或取一次就更新数据库,这样数据库里的就是结余了 --------------------编程问答-------------------- 500 from m
这种字符串你准备怎么处理?
一般来说SUM(Ecun)-SUM(Nqu)就可以了,但你那两个字段做成nvarchar的,还允许填入明显不能转成数字的字符串。那样的话你怎么可能算出结果? --------------------编程问答-------------------- select sum(cast(nullif(Ecun,0) as int)) - sum(cast(nullif(nqu,0) as int)) from 表 --------------------编程问答--------------------
引用 1 楼 yuchen611 的回复:
存一次或取一次就更新数据库,这样数据库里的就是结余了


你说的不对啊..我现在是要这样的.存的总数-每次取的钱=结余 --------------------编程问答--------------------
引用 2 楼 ledmhcc 的回复:
500 from m
这种字符串你准备怎么处理?
一般来说SUM(Ecun)-SUM(Nqu)就可以了,但你那两个字段做成nvarchar的,还允许填入明显不能转成数字的字符串。那样的话你怎么可能算出结果?



麻烦就是在这里..

这个500 from m 可以处理.....你说的SUM(Ecun)-SUM(Nqu)也是不行的..我数据库里是字符串 而且如果是数字的话.我要的也是这样的效果Sum(ECUN)-Nqu=结余 --------------------编程问答-------------------- 两个字符串做加减法能得到你要结果?你说得明显是数字的运算嘛 --------------------编程问答--------------------
引用 5 楼 dxw075 的回复:
引用 2 楼 ledmhcc 的回复:
500 from m
这种字符串你准备怎么处理?
一般来说SUM(Ecun)-SUM(Nqu)就可以了,但你那两个字段做成nvarchar的,还允许填入明显不能转成数字的字符串。那样的话你怎么可能算出结果?



麻烦就是在这里..

这个500 from m 可以处理.....你说的SUM(Ecun)-SUM(Nqu)也是不行的..我数据……

你真要那么做的话就要绕很大个圈子,不要放到sql里做,弄个实体类 包含属性 id,ecun,nqu 。
数据库查出来的值赋进去作为一个数据集,ecun,nqu设定为double,当为null,或者没法转为double时赋值0,那样你可以用循环算出ecun的总合,随你喜欢去减任何一个nqu --------------------编程问答-------------------- 一个小建议,别在这上边浪费脑细胞了,重新设计设计数据库吧
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,