Friday, April 18, 2008

โค้ด Transaction ​ใน​ ADO.NET C#

Code C# about sql transaction.

string connectionString = ...; //Some connection string
SqlConnection sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();

SqlTransaction sqlTransaction = sqlConnection.BeginTransaction();

SqlCommand sqlCommand = new SqlCommand();
sqlCommand.Transaction = sqlTransaction;

try
{
sqlCommand.CommandText = "Insert into Employee (EmpCode, EmpName)
VALUES (1, 'Joydip')​";
sqlCommand.ExecuteNonQuery();
sqlCommand.CommandText = "Insert into Dept (DeptCode, DeptName, EmpCode)
VALUES (9, 'Software', 1)​";

sqlCommand.ExecuteNonQuery();
sqlTransaction.Commit();
//Usual code
}

catch(Exception e)
{
sqlTransaction.Rollback();
//Usual code
}
finally
{
sqlConnection.Close();
}
# เปิด Connection

# Get transaction จากตัว Connection ด้วย tn = conn.BeginTran...()

# ใส่ transaction ให้ SqlCommnand

# tn.Commit() หรือ tn.RollBack() หลังจาก Execute คำสั่ง

# ส่วนมาจะใส่ RollBack() ใน try catch

# ถ้าเราใช้ ทรานแซคชั่นแล้วต้องมีการ commit หรือ rollback

# ถ้าไม่มีอันใดอันหนึ่ง statement sql ก็จะไม่สำเร็จอ่ะขอบอก

ที่มา : noomdev.blogspot.com

No comments:

Post a Comment

Popular Posts