• 简单的SQL Server事务处理


          相信大家在日常编程中,都会遇到同时更新或同时维护多个表的操作,为保持数据的一致性,SQL Server里为我们提供很多便利方法,其中之一就是“事务处理”的办法。事务处理?可以简单实例化理解为:我们要同时更新表1、表2(不能因网络原因,在更新完表1后,由于断电或网络故障导致表2没有更新而致使两表的数据不能一致,在这种情况下,我们如何保证这两个表同时更新,操作才有效呢?这就是我想为大家介绍的事务处理简单方法)

        事务处理的一大优点就是,当表1与表2在一个事务处理过程中(当然要把操作表1、表2的维护动作放进一个事务进程中才有效),只要任何一个表操作不成功,两个表的任何操作在SQL里都是无效的,两个表的操作要同事操作成功SQL才让操作生效,这就达到数据的一致性。如何实现,简单介绍一下:

    1、VFP里如何通知SQL Server开始一个事务呢?

    通过 SQLSETPROP()函数实现

    IF SQLSETPROP(nConnectionHandle,"Transactions",2)<=0

       =MESSAGEBOX("提交事务开始不成功",16,"提示")

    ELSE

       =MESSAGEBOX("提交事务开始成功",16,"提示")

    ENDIF

    2、VFP里如何通知SQL Server结束一个事务呢? 

    IF SQLSETPROP(nConnectionHandle,"Transactions",1)<=0

       =MESSAGEBOX("事务结束不成功",16,"提示")

    ELSE

       =MESSAGEBOX("事务结束成功",16,"提示")

    ENDIF  

    3、 数据处理代码的应该放在事务处理的哪个位置呢?

    在VFP要提交给SQL Server处理的数据应该放在以上第1点后,事务成功开始后边,第2点应该放在数据处理完结的后边。

    4、事务处理的开始后,VFP还要提醒SQL Server去执行处理:

        SQLCOMMIT()函数实现:   

    SQLCOMMIT(nConnectionHandle):表示通知SQL Server提交一个事务处理

    注意:当以上第3点的数据处理全部成功了,但没有在这之后没有执行事务提交的话,操作还是不成功的。

          所以在一个事务结束前,必须提交这个事务让SOL Server进行处理。

    5、如何取消一个事务的执行结果:

       SQLROLLBACK(nConnectionHandle)函数能实现这个。

    以上是实现SQL Server简单事务处理的方法,详细的还要靠大家去看看这些函数的一些用法与设置。


    Ewin:梦想可以到达的地方,网络就可以做到-开放、平等、自由、充满激情......

  • 相关阅读:
    LR: GLU-Net: Global-Local Universal Network for Dense Flow and Correspondences
    LR Hybrid Bird's-Eye Edge Based Semantic Visual SLAM for AVP
    论文阅读 CalibNet
    记开发过程遇到的IE兼容性问题(持续更新)
    Please make sure you have the correct access rights and the repository exists(转发)
    createElement函数的语法及其简单使用
    typeof、instanceOf、hasOwnProperty的使用和区别
    nrm 的使用方法
    files文件上传传递给后台
    package.json指南及其常用命令
  • 原文地址:https://www.cnblogs.com/Ewin/p/1302402.html
Copyright © 2020-2023  润新知