zoukankan      html  css  js  c++  java
  • SqlCeConnectionBeginTransaction 方法

    SqlCeConnectionBeginTransaction 方法

    开始数据库事务。

    命名空间:   System.Data.SqlServerCe
    程序集:  System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)
    示例

    下面的示例创建一个 SqlCeConnection 和一个 SqlCeTransaction,然后阐释如何使用 BeginTransaction Commit 和 Rollback 方法。

    Dim conn As New SqlCeConnection("Data Source = MyDatabase.sdf; Password ='<pwd>'")
    conn.Open()
    
    ' Start a local transaction
    '
    Dim tx As SqlCeTransaction = conn.BeginTransaction()
    
    ' By default, commands run in auto-commit mode; 
    '
    Dim cmd1 As SqlCeCommand = conn.CreateCommand()
    
    ' You may create multiple commands on the same connection
    '
    Dim cmd2 As SqlCeCommand = conn.CreateCommand()
    
    ' To enlist a command in a transaction, set the Transaction property
    '
    cmd1.Transaction = tx
    
    Try
        cmd1.CommandText = "INSERT INTO Shippers ([Company Name]) VALUES ('Northwind Traders')"
        cmd1.ExecuteNonQuery()
    
        ' Auto-commited because cmd2 is not enlisted in a transaction
        '
        cmd2.CommandText = "INSERT INTO Employees ([Last Name], [First Name]) VALUES ('Decker', 'Barbara')"
        cmd2.ExecuteNonQuery()
    
        ' This will cause referential constraint violation
        '
        cmd1.CommandText = "DELETE FROM Products WHERE [Product ID] = 1"
        cmd1.ExecuteNonQuery()
    
        ' Commit the changes to disk if everything above succeeded
        '
        tx.Commit()
    Catch
        tx.Rollback()
    Finally
        conn.Close()
    End Try
    
    
    SqlCeConnection conn = new SqlCeConnection("Data Source = MyDatabase.sdf; Password ='<pwd>'"); 
    conn.Open(); 
     
    // Start a local transaction 
    // 
    SqlCeTransaction tx = conn.BeginTransaction(); 
     
    // By default, commands run in auto-commit mode;  
    // 
    SqlCeCommand cmd1 = conn.CreateCommand(); 
     
    // You may create multiple commands on the same connection 
    // 
    SqlCeCommand cmd2 = conn.CreateCommand(); 
     
    // To enlist a command in a transaction, set the Transaction property 
    // 
    cmd1.Transaction = tx; 
     
    try 

        cmd1.CommandText = "INSERT INTO Shippers ([Company Name]) VALUES ('Northwind Traders')"; 
        cmd1.ExecuteNonQuery(); 
     
        // Auto-commited because cmd2 is not enlisted in a transaction 
        // 
        cmd2.CommandText = "INSERT INTO Employees ([Last Name], [First Name]) VALUES ('Decker', 'Barbara')"; 
        cmd2.ExecuteNonQuery(); 
     
        // This will cause referential constraint violation 
        // 
        cmd1.CommandText = "DELETE FROM Products WHERE [Product ID] = 1"; 
        cmd1.ExecuteNonQuery(); 
     
        // Commit the changes to disk if everything above succeeded 
        // 
        tx.Commit(); 

    catch (Exception) 

        tx.Rollback(); 

    finally 

        conn.Close(); 
  • 相关阅读:
    js4——字符转化
    js3——表格下拉
    笔记展现
    js2——定时跳转
    js学习——1
    明明在/etc/my.cnf 配置了mysql.sock,为什么会在/var/lib/mysql/mysql.sock 里边寻找
    RBAC用户权限管理数据库设计
    mysql 字节问题,中文和数字
    PHP闭包
    一致性哈希算法原理
  • 原文地址:https://www.cnblogs.com/kittyguo/p/5141374.html
Copyright © 2011-2022 走看看