اخواني الكرام
السلام عليكم ورحمة الله وبركاته
عندي سوال عن موضوع Transaction مع stored procedures
في السابق عندما كنت استخدم الـTransaction في الكود مباشره دون ان استخدم اي سورد بروسيجر
كنت استخدمها كالتالي
Dim trans As MySqlTransaction
trans = Con.BeginTransaction
Dim insertCommand As New MySqlCommand
Dim updateCommand As New MySqlCommand
insertCommand.Transaction = trans
updateCommand.Transaction = trans
Try
NoTxt.Text = CStr(nm)
'________________________________________________________________________
SQL = "insert into nationality (nat_no,nationality_a,nationality_e,notes) values('" + NoTxt.Text + "','" + NameATxt.Text + "','" + NameETxt.Text + "','" + NoteTxt.Text + "')"
insertCommand.Connection = Con
insertCommand.CommandText = SQL
insertCommand.ExecuteNonQuery()
'______________________________________________________________________
SQL = "update COUNTALL set COUNT=COUNT+1 where count_name='nationality'"
updateCommand.Connection = Con
updateCommand.CommandText = SQL
updateCommand.ExecuteNonQuery()
MessageBox.Show("تم عملية الاضافة ", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Information)
trans.Commit()
Catch ex As MySqlException
trans.Rollback()
MessageBox.Show(ex.Message)
Finally
Con.Close()
End Tryيعني في وسط الكود والهدف منها انو لو عمليه لم تنفذ فلا يننفذ اي عمليه بعدها او يتراجع عن تنفيد جميع العمليات ( بمعنى اما الكل او لا)
من فتره وقد بدات استخدم stored procedures
ومن المعروف ان الكود يكتب في السيرفر
ونقوم فقط بتعريف المدخلات والمخرجات في صفحة خاصه تسمى DBOperations جميعها على شكل فنشن
ثم استدعي الفنشن عند الحاجه ومعها البرميتر جاهز
سوالي كيف اقوم باستخدام Transaction مع stored procedures
علما ان طريقتي في استدعاء الكود كالتالي
dim db as new DBOperations db.sp_Categories_AddIDAndName(p1,p2,p3) db.sp_fan_Add(p1,p2,p3) وهكذا يعني مجموعة عمليات اريدها ان تنفذ جميعها ( وفي حالة وجود اي مشكله يتراجع عن الكل)
كيف يتم ذلك (اتمنى انو يكون في مثال بسيط على ذلك )

