Csharp/C Sharp/Database ADO.net/OleDbTransaction

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Committed insert

using System;
using System.Data;
using System.Data.OleDb;
public class Transact {    
 public static void Main () { 
   String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=.\\Employee.mdb";
   OleDbConnection con = new OleDbConnection(connect);
   con.Open();  
   Console.WriteLine("Made the connection to the database");
   OleDbCommand cmd = con.CreateCommand();
   OleDbTransaction trans = con.BeginTransaction();
   cmd.Transaction = trans;
   cmd.rumandText ="INSERT INTO Employee VALUES (12,"CD","wwe",10)";
   cmd.ExecuteNonQuery();
   trans.rumit();

   cmd.rumandText = "SELECT First_name FROM Employee";
   OleDbDataReader reader = cmd.ExecuteReader();
   while(reader.Read()) 
     Console.WriteLine("{0}",
               reader.GetString(0));
   reader.Close();

   con.Close();
 }
}


Illustrates transaction processing

using System;
using System.Data;
using System.Data.OleDb;
public class Transact {    
 public static void Main () { 
   String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=.\\Employee.mdb";
   OleDbConnection con = new OleDbConnection(connect);
   con.Open();  
   Console.WriteLine("Made the connection to the database");
   OleDbCommand cmd = con.CreateCommand();
   OleDbTransaction trans = con.BeginTransaction();
   cmd.Transaction = trans;
   cmd.rumandText ="INSERT INTO Employee VALUES (09,"qwe","ewq",123)";
   cmd.ExecuteNonQuery();
   cmd.rumandText = "SELECT First_name FROM Employee";
   OleDbDataReader reader = cmd.ExecuteReader();
   while(reader.Read()) 
     Console.WriteLine("{0}",
               reader.GetString(0));
   reader.Close();
   con.Close();
 }
}


OleDbTransaction rollback

using System;
using System.Data;
using System.Data.OleDb;
public class Transact {    
 public static void Main () { 
   String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=.\\Employee.mdb";
   OleDbConnection con = new OleDbConnection(connect);
   con.Open();  
   Console.WriteLine("Made the connection to the database");
   OleDbCommand cmd = con.CreateCommand();
   OleDbTransaction trans = con.BeginTransaction();
   cmd.Transaction = trans;
   cmd.rumandText ="INSERT INTO Employee VALUES (09,"qwe","ewq",123)";
   cmd.ExecuteNonQuery();
   cmd.rumandText = "SELECT First_name FROM Employee";
   OleDbDataReader reader = cmd.ExecuteReader();
   while(reader.Read()) 
     Console.WriteLine("{0}",
               reader.GetString(0));
   reader.Close();
   trans.Rollback(); 
 
   cmd.rumandText = "SELECT First_name FROM Employee";
   reader = cmd.ExecuteReader();
   Console.WriteLine("Rolled back insert and update -- table unchanged");
   Console.WriteLine("First_name");
   while(reader.Read()) 
     Console.WriteLine("{0}",
               reader.GetString(0));
   reader.Close();

   con.Close();
 }
}


Use OleDbTransaction

using System;
using System.Data;
using System.Data.OleDb;
public class Transact {    
 public static void Main () { 
   String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=.\\Employee.mdb";
   OleDbConnection con = new OleDbConnection(connect);
   con.Open();  
   Console.WriteLine("Made the connection to the database");
   OleDbCommand cmd = con.CreateCommand();
   OleDbTransaction trans = con.BeginTransaction();
   cmd.Transaction = trans;
   cmd.rumandText = "UPDATE Employee SET Salary = 1342 "
                        + "WHERE ID > 1";
   cmd.ExecuteNonQuery();
   cmd.rumandText = "SELECT First_name FROM Employee";
   OleDbDataReader reader = cmd.ExecuteReader();
   while(reader.Read()) 
     Console.WriteLine("{0}",
               reader.GetString(0));
   reader.Close();
   con.Close();
 }
}