从云网和财付通中得到的提示

近期用到了云网和财付通的接口。
但是页面post给他们之后,返回来的数据却不止一条,就是返回页面要被请求至少两次,立刻电话给tenpay和云网,但是他们那边的数据也只是显示回传了一次。这就让我偶不得其所了,检查了N次代码没有发现明显的错误。但是肯定是流程出了问题,否则不可能出现这样的情况,于是乎仔细查找,终于在当云网或者财付通返回订单的时候,我要查询存放订单的库,看看此订单是否存在。然后进行支付成功之后的操作,比如将用户的金额入库等等,这个检索的时候出现了问题,在此提示大家,使用sqldatareader的时候最好是这样:
   
SqlDataReader dr  =   ** .getDR();
    
if (dr.HasRows)
{
 
while(dr.read())
 
}

dr.close();


千万记得在if后再关闭dr
另外using(dr)这样的操作还是最好少用,因为他翻译成il代码后是一个try catch的操作,可能你的一个页面同时要开十次数据库,你若是等待他去给你fanilly的时候关闭dr就已经太晚了,因为数据库资源已经被他耗尽了!所以还是手动关闭的比较好!

你可能感兴趣的:(提示)