dotConnect for Google BigQuery Documentation
Devart.Data.BigQuery Namespace / BigQueryTransaction Class
Members Example

On this page
    BigQueryTransaction Class
    On this page
    Represents a SQL transaction to be made in the Google BigQuery database.
    Syntax
    'Declaration
     
    Public NotInheritable Class BigQueryTransaction 
       Inherits Devart.Common.DbTransactionBase
       Implements System.Data.IDbTransaction, System.IDisposable 
    public sealed class BigQueryTransaction : Devart.Common.DbTransactionBase, System.Data.IDbTransaction, System.IDisposable  
    Remarks

    The application creates a BigQueryTransaction object by calling BigQueryConnection.BeginTransaction on the BigQueryConnection object. All subsequent operations associated with the transaction (for example, committing or aborting the transaction), are performed on the BigQueryTransaction object.

    The correlation between BigQueryConnection and BigQueryTransaction is always 1:1.

    Example
    The following example creates a BigQueryConnection and a BigQueryTransaction. It also demonstrates how to use the BigQueryConnection.BeginTransaction, Commit, and Rollback methods.
    public static void RunBigQueryTransaction(string myConnString) {
            using (BigQueryConnection bigQueryConnection = new BigQueryConnection(myConnString)) {
                    bigQueryConnection.Open();
                    // Start a local transaction
                    BigQueryTransaction myTrans = bigQueryConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
                    BigQueryCommand bigQueryCommand = bigQueryConnection.CreateCommand();
                    try {
                            bigQueryCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(52, 'DEVELOPMENT')";
                            bigQueryCommand.ExecuteNonQuery();
                            bigQueryCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(62, 'PRODUCTION')";
                            bigQueryCommand.ExecuteNonQuery();
                            myTrans.Commit();
                            Console.WriteLine("Both records are written to database.");
                    }
                    catch (Exception e) {
                            myTrans.Rollback();
                            Console.WriteLine(e.ToString());
                            Console.WriteLine("Neither record was written to database.");
                    }
                    finally {
                            bigQueryCommand.Dispose();
                            myTrans.Dispose();
                    }
        }
    }
    Public Shared Sub RunBigQueryTransaction(myConnString As String)
            Using bigQueryConnection As New BigQueryConnection(myConnString)
                    bigQueryConnection.Open()
                    ' Start a local transaction
                    Dim myTrans As BigQueryTransaction = bigQueryConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)
                    Dim bigQueryCommand As BigQueryCommand = bigQueryConnection.CreateCommand()
                    Try
                            bigQueryCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(52, 'DEVELOPMENT')"
                            bigQueryCommand.ExecuteNonQuery()
                            bigQueryCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(62, 'PRODUCTION')"
                            bigQueryCommand.ExecuteNonQuery()
                            myTrans.Commit()
                            Console.WriteLine("Both records are written to database.")
                    Catch e As Exception
                            myTrans.Rollback()
                            Console.WriteLine(e.ToString())
                            Console.WriteLine("Neither record was written to database.")
                    Finally
                            bigQueryCommand.Dispose()
                            myTrans.Dispose()
                    End Try
        End Using
    End Sub
    Inheritance Hierarchy

    System.Object
       System.MarshalByRefObject
          System.Data.Common.DbTransaction
                Devart.Data.BigQuery.BigQueryTransaction

    See Also