请选择 进入手机版 | 继续访问电脑版

马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

充值问题求解决方案

  [复制链接]
查看5231 | 回复8 | 2016-8-17 21:11:12 | 显示全部楼层 |阅读模式

一张可以消费的卡  需要先充值再消费
充值的时候记录数据库  同时往卡里写数据
两件事必须同时成功 或者同时失败
那么应该怎么保证同时成功或者同时失败
现在的流程是
开事物写数据库->写卡->提交事务
这个办法这样存在一个隐患问题 写卡成功事物没有提交
求大神告诉我改怎么处理

Amy尾巴 | 2016-8-18 08:57:14 | 显示全部楼层
dd不知道
ibcadmin | 2016-8-22 09:41:13 | 显示全部楼层
.   贴上代码
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
Mastrcn | 2016-8-23 19:30:58 | 显示全部楼层

我想要的是流程思路

一张IC卡需要写数据并记录数据库
IC卡不能撤销之前写入的数据
数据库可以撤销之前写入的数据
怎么保证写卡 写数据库同时失败或者同时成功

数据库是在服务器的 写入的数据库的指令是通过socket发送到服务器的

ibcadmin | 2016-8-24 09:40:56 | 显示全部楼层
Mastrcn 发表于 2016-8-23 19:30
我想要的是流程思路

一张IC卡需要写数据并记录数据库

明白了,
因为两个是分开的,所以事务肯定是不行了, 那就可以这样,
1.有两个标志属性bool, (写IC卡是否成功 bool     写数据库是否成功 bool )
2.先写入IC卡,写入成功后,bool为true, 如果为false  也就没有后面的事了。
3.IC卡bool为true后,socket方式写数据库,返回成功或失败,更新bool值,如果是false,删除写入IC卡的数据。
3.此时应该全为true了,到这一步就是两个都成功了

C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
ibcadmin | 2016-8-24 09:46:37 | 显示全部楼层
.. 等等 我刚说的好像不对。。  我才看到IC卡不能撤销写入的数据是吧.......
那就这样  把上面的第二步和第三步掉换个位置

1.有两个标志属性bool, (写IC卡是否成功 bool     写数据库是否成功 bool )
2.先socket方式写数据库,写入成功后bool为true, 如果为false  也就没有后面的事了。
3.数据库bool为true后,写IC卡,返回成功或失败,更新bool值,如果是false,删除之前写入数据库的数据
4.此时应该全为true了,到这一步就是两个都成功了
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
Mastrcn | 2016-8-25 13:00:18 | 显示全部楼层
ibcadmin 发表于 2016-8-24 09:46
.. 等等 我刚说的好像不对。。  我才看到IC卡不能撤销写入的数据是吧.......
那就这样  把上面的第二步和 ...

2个新问题

1.还有删除数据怎么保证是刚插入的数据
例如2个人同时写2张卡都插入数据了
都写卡失败 需要删除数据

※2.那删除数据失败怎么办?
ibcadmin | 2016-8-25 13:48:51 | 显示全部楼层
Mastrcn 发表于 2016-8-25 13:00
2个新问题

1.还有删除数据怎么保证是刚插入的数据

..........
1.两个人同时写入两个卡  这个  2个人的ID是不一样的  写入时间取最新的 就知道是哪个数据了
2.删除失败这个  你之前的问题相当于你的异常了 删除的操作相当于异常处理了,如果在异常处理中不能保证能处理成功的话  就要人工干预了  
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
Mastrcn | 2016-9-9 22:42:31 | 显示全部楼层
那流程是不是应该这样
try{
        充值;
}
catch{
          try{
           充值失败处理;
        }
        catch{
          充值失败处理失败记录写入文件;
        }
}
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则