2 zzwzzw946543263 zzwzzw946543263 于 2015.05.29 22:36 提问

机房管理系统计费功能如何实现?

编程语言使用的是c#,数据库用SQL sever,问题; [code=sql][/code]创建一个触发器,实现下机以及计费的功能(我的思路是用下机时间减去上机时间,然后把这段时间换算成一个数据,再用这个数据通过计算成为上机费用,然后将下机数据插入上机记录机表中,现在就是不知道如何去计费) 求大神给这个触发器的代码,尤其是计费那一段

3个回答

caozhy
caozhy   Ds   Rxr 2015.05.29 23:01
已采纳

select convert(float, convert(datetime, '16:12:39'))
http://blog.csdn.net/fengxiaowenhappy/article/details/4917697
把时间转换为浮点。
整数部分相减是差多少天。
1/24是1小时。

caozhy
caozhy 回复zzw文仔: 解决就好,麻烦点下采纳
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 搞定了,谢谢啦啊,烦了我好几天了,真心感谢你
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 这个计算出来的单位是秒还是毫秒啊?因为我的设计计费就是3元一个小时,然后转换之后要知道单位是多少才能计算,谢谢啦
接近 3 年之前 回复
caozhy
caozhy   Ds   Rxr 2015.05.29 22:42

其实用不用触发器无所谓。客户端每隔一段时间访问服务器,报告当前活动状态。如果连不上服务器,就锁定客户端。
服务器端每次收到客户端的请求,就累加时间,扣费。

zzwzzw946543263
zzwzzw946543263 我这做的是很简单的,不是c/s模式的,只是一个简单的插入,删除而已,换句话说就是想用删除的时间减去插入的时间,然后把它转换成一个数据(这个数据是可计算的例如int等等),然后这些要在触发器中完成
接近 3 年之前 回复
caozhy
caozhy   Ds   Rxr 2015.05.29 22:47

你的设计从根本上来说是有问题的。
如果客户端意外关机或者网络中断,这样会导致多计费的情况。

caozhy
caozhy 回复zzw文仔: 谁让你用垃圾百度,用google一找就找到了。
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 回复zzwzzw946543263: 百度找了找不到啊,泪奔了我
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 回复caozhy: 我不是不会做触发器!我的意思是,如何将时间类型转换成可以计算的数据类型,这才是重点0.0
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 回复caozhy: 你不会这样都看不懂吧?
接近 3 年之前 回复
caozhy
caozhy 回复zzw文仔: 建议就是你去google一个简单的插入触发器的例子,完整的代码自己运行下,搞清楚原理。
接近 3 年之前 回复
caozhy
caozhy 而且你的表名字段都用的缩写。你想做什么也不知道。总之什么都不知道,你的问题只有上帝能帮你。
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 回复zzwzzw946543263: 给点建议吧,拜托了0.0
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 回复zzwzzw946543263: 给点建议吧,拜托了0.0
接近 3 年之前 回复
caozhy
caozhy 回复zzw文仔: 那要看你的表怎么定义的。
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 回复caozhy: 触发器:ALTER trigger xiaji1 on shangji for delete as begin insert into sjhistory select stuid,jfh, jh, sjtime, getdate(), convert(float(1),getdate()-(select sjtime from deleted)), (convert(float(1),(getdate()-(select sjtime from deleted)))*0.05) from deleted end
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 回复caozhy: 我知道,我的触发器就是将删除的记录再插入上机历史表中,但是表中有一个上机费用,这个数据我不知道如何去获得...你知道就告诉我啊,说白了就是一个SQL技术贴
接近 3 年之前 回复
caozhy
caozhy 回复zzw文仔: 别人不知道你的表结构,也不知道你的混乱的逻辑。怎么帮你。
接近 3 年之前 回复
caozhy
caozhy 回复zzw文仔: 那你随便找一个触发器的例子看看就是了。
接近 3 年之前 回复
zzwzzw946543263
zzwzzw946543263 没办法啦,没技术,只是做一个简单的课程设计而已
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!