Example #1
0

        
Example #2
0

        
Example #3
0

        
Example #4
0
        private static void TestTransaction()
        {
            using (SqlConnection connection = SqlConnectionFactory.CreateDbContext())
            {
                connection.Open();
                SqlTransaction transaction = connection.BeginTransaction();

                SqlCommand command = connection.CreateCommand();
                command.Transaction = transaction;

                try
                {
                    // выполняем две отдельные команды
                    command.CommandText = "INSERT INTO Users (Name, Age) VALUES('Tim', 34)";
                    command.ExecuteNonQuery();
                    command.CommandText = "INSERT INTO Users (Name, Age) VALUES('Kat', 31)";
                    command.ExecuteNonQuery();
                    // ошибка
                    command.CommandText = "INSERT INTO Users (Id, Name, Age) VALUES(1,'Kat', 31)";
                    command.ExecuteNonQuery();

                    // подтверждаем транзакцию
                    transaction.Commit();
                    Console.WriteLine("Данные добавлены в базу данных");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    // если ошибка, откатываем назад все изменения
                    transaction.Rollback();
                }
            }
        }
Example #5
0

        
Example #6
0

        
Example #7
0

        
Example #8
0