ان شاء الله سوف أقوم بشرح معني ال transaction في ال ADO .Net
* ال transaction عبارة عن مجموعة من العمليات التي يتم التعامل معها علي أنها عملية واحدة
فلا يصح نجاح عملية وفشل الأخري... فالكل ناجح أو الكل فاشل
والمثال الشهير جدا علي هذه العملية هو عمليتي السحب والإيداع في حسابات البنوك , فعملية السحب اذا تمت ولم تتم عملية الإيداع تضيع النقود وبالتالي تفشل العملية
واذا لم تتم عملية السحب وتمت عملية الإيداع فهناك إهدار للنقود وتصبح العملية كلها فاشلة.
-تستخدم عملية ال transaction في ال ADO.Net نوعين من ال methods :
1 - commit : لتنفيذ عملية ال transaction .
2 - Rollback : للتراجع عن تنفيذ عملية ال transaction .
وعادة ما يتم استخدام هذه ال methods داخل try & catch كما بالمثال التالي .
المثال يستخدم database اسمها test وال tables : 1 - table1 : وبه ID,name columns 2 - table2 : وبه ID,salary columns
using System.Data;
using System.Data.SqlClient;
//اعمل connectionبال database//
string connString = "put ur connection string here";
Sqlconnection connect = new Sqlconnection(connString);
//عرف ال transaction //
SqlTransaction trans = nconnect.BeginTransaction();
// ابدأ التعامل مع ال database بال insert في ال tables //
Sqldataadapter da1 = new Sqldataadapter("Insert Into table1 (ID,name) Values (@ID,@salary",connect);
// لا تنسي وضع قيم ال parameters هنا //
Dataset ds1 = new Dataset();
Sqldataadapter da2 = new Sqldataadapter ("Insert Into table2 (ID,salary) Values (@ID,@salary),connect);
// لا تنسي وضع قيم ال parameters هنا //
Dataset ds2 = new Dataset();
// ربط ال commands بال transaction //
da1.InsertCommand.Transaction = trans;
da2.InsertCommand.Transaction = trans;
try
{
da1.fill(ds1);
da2.Fill(ds2);
// ابدأ بتنفيذ ال transaction //
trans.Commit();
MessageBox.Show("transaction committed , congratulations !! ");
}
catch
{
trans.Rollbach();
MessageBox.Show("transaction rolled back , sorry !!");
}• إذا كنت نسيت أي شئ ارجو عدم التأخير في الرد .
• ولا تنسونا من صالح دعاءكم .