Csharp/C Sharp by API/System.Data.SqlClient/SqlTransaction — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:31, 26 мая 2010
SqlTransaction.Rollback
<source lang="csharp">
using System; using System.Data; using System.Data.SqlClient; class Savepoint {
public static void Main() { SqlConnection mySqlConnection = new SqlConnection( "server=localhost;database=Northwind;uid=sa;pwd=sa" ); mySqlConnection.Open(); SqlTransaction mySqlTransaction = mySqlConnection.BeginTransaction(); SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); mySqlCommand.Transaction = mySqlTransaction; mySqlCommand.rumandText = "INSERT INTO Customers ( " + " CustomerID, CompanyName " + ") VALUES ( " + " "J8COM", "J8 Company" " + ")"; int numberOfRows = mySqlCommand.ExecuteNonQuery(); Console.WriteLine("Number of rows inserted = " + numberOfRows); mySqlTransaction.Save("SaveCustomer"); mySqlCommand.rumandText = "INSERT INTO Orders (CustomerID ) VALUES ( "J8COM" )"; numberOfRows = mySqlCommand.ExecuteNonQuery(); Console.WriteLine("Number of rows inserted = " + numberOfRows); mySqlTransaction.Rollback("SaveCustomer"); mySqlCommand.rumandText = "SELECT CustomerID, CompanyName " + "FROM Customers " + "WHERE CustomerID = "J8COM""; SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader(); while (mySqlDataReader.Read()) { Console.WriteLine("mySqlDataReader[\" CustomerID\"] = " + mySqlDataReader["CustomerID"]); Console.WriteLine("mySqlDataReader[\" CompanyName\"] = " + mySqlDataReader["CompanyName"]); } mySqlDataReader.Close(); mySqlCommand.rumandText = "DELETE FROM Customers WHERE CustomerID = "J8COM""; numberOfRows = mySqlCommand.ExecuteNonQuery(); Console.WriteLine("Number of rows deleted = " + numberOfRows); mySqlTransaction.rumit(); mySqlConnection.Close(); }
}
</source>