关于页面程序会被重复执行的问题

.Net技术 码拜 10年前 (2015-05-10) 744次浏览 0个评论
 

支付接口返回时用数据库查询是否有这条数据作为判断来插入一系列的数据,但是现在发现数据库还是出现同样的两条甚至多条数据,精确到毫秒插入时间,有的还完全一样,这是什么原因,有什么原因能阻止它同时执行?请各位大神帮忙,我加了延时执行还是不行,。

        B_refillRecord refillBLL = new B_refillRecord();
        M_refillRecord refillModel = new M_refillRecord();
        DataSet dt_refill = new DataSet();
        Thread.Sleep(1000);//2015.04.21加入解决重复到账问题
        dt_refill = refillBLL.GetList(" temp1=""" + BillNo + """ and userName=""" + UserName + """");
        if (dt_refill == null || dt_refill.Tables.Count < 1 || dt_refill.Tables[0].Rows.Count < 1) //避免重复到账
        {
            B_userMoneyInfo umbll = new B_userMoneyInfo();
            M_userMoneyInfo ummodel = umbll.GetModel(UserName);
            ummodel.accountMoney += (decimal)(double.Parse(Amount));//账户总额
//中间的都省略了**************
CmdList.Add(bll.AddTrans(model));
            CmdList.Add(BorrBll.UpdateTrans(BorrInfo));
            CmdList.Add(umbll.UpdateTrans(umModel));
            CmdList.Add(lmBll.UpdateTrans(lmModel)); //更新投标资金详情表
            int tabtr = DbHelperSQL.ExecuteSqlTran(CmdList)

得到的数据的时间,并不是所有都这样,偶尔才这样
2015-04-21 20:59:33.610
2015-04-21 20:59:33.610
2015-04-21 20:59:33.593
2015-04-21 20:59:33.593
2015-04-21 20:59:33.593

你加上日志跟踪一下
40分
调试一下看看进入了多少次呗
数据库可能存在脏读
引用 1 楼 lovelj2012 的回复:

你加上日志跟踪一下

虽然您没给我详细的做法,但是还是把我引到了处理的方法上去,谢谢了


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于页面程序会被重复执行的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!