zoukankan      html  css  js  c++  java
  • 事務回滾之實例

    ADO与Oracle9i

    http://msdn.microsoft.com/zh-cn/library/ms971506.aspx

    1. 主外鍵約束
        Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
            '/// 新增一個用戶
            '/// 添加資料到user表,
            '/// 同時也必須添加到deptuser表,因為user有部門,需建立dept與user的關係。
            Dim connstr As String = System.Configuration.ConfigurationManager.ConnectionStrings("Test").ToString()
            Dim dbHelper As New DBUtility.DatabaseHelper(connstr, DBUtility.Providers.SqlServer)
            Dim strSql As String
            Try
                dbHelper.BeginTransaction()
                strSql = "insert into emp(emp_no,emp_name) values('08054495','tom')"
                dbHelper.ExecuteNonQuery(strSql, DBUtility.ConnectionState.KeepOpen)


                strSql = "insert into deptuser(keyid,empno,deptid) values(1,'08054495','666')"
                dbHelper.ExecuteNonQuery(strSql, DBUtility.ConnectionState.KeepOpen)
                dbHelper.CommitTransaction()
            Catch ex As Exception
                dbHelper.RollbackTransaction()
                Throw ex
            End Try
        End Sub

    2. 批量update約束
        Protected Sub btnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
            Dim dbHelper As New DBUtility.DatabaseHelper
            Dim chkExport As CheckBox
            '遍歷對象
            '一次修改多筆記錄,若有一筆失敗,則所有的都回滾,恢復到原來的狀態。
            Try
                dbHelper.BeginTransaction()
                For Each oGridViewRow As GridViewRow In Me.GridView1.Rows
                    chkExport = CType(oGridViewRow.FindControl("chkExport"), CheckBox)
                    Dim lblKeyId As Label = CType(oGridViewRow.FindControl("lblKeyID"), Label)
                    If chkExport.Checked = True Then
                        Dim _strSql As String = " UPDATE  xxfqa_test SET ENABLE_FLAG='n' WHERE ID=" & lblKeyId.Text.Trim()
                        dbHelper.ExecuteNonQuery(_strSql, Data.CommandType.Text, DBUtility.ConnectionState.KeepOpen)
                    End If
                Next
                dbHelper.CommitTransaction()
            Catch ex As Exception
                dbHelper.RollbackTransaction()
                Throw
            End Try
            LoadData()
        End Sub

  • 相关阅读:
    Supervisor 管理进程,Cloud Insight 监控进程,完美!
    【灵魂拷问】你为什么要来学习Node.js呢?
    Web数据交互技术
    请求与上传文件,Session简介,Restful API,Nodemon
    Express服务器开发
    HTTP协议,到底是什么鬼?
    大学我都是自学走来的,这些私藏的实用工具/学习网站我贡献出来了,建议收藏精品推荐
    Node.js安装使用-VueCLI安装使用-工程化的Vue.js开发
    React开发环境准备
    【可视化】Vue基础
  • 原文地址:https://www.cnblogs.com/htht66/p/1796756.html
Copyright © 2011-2022 走看看