تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيف أستخدم TRansaction حتى أضمن تطبيق الكود بشكل جيد
#4
على العموم اخي sniper
اليك هذين الرابطين اجزى الله اصحابها كل الخير
https://www.youtube.com/watch?v=br8DkBklahE&t=735s

https://www.youtube.com/watch?v=eE6dPpK6O68&t=2141s
من ناحيتي ساضع لك كود حفظ استخدمته في حفظ راس الفاتورة وتفاصيل الفاتورة  حيث يتم الحفظ (عبر اللوب) من الداتاغرايد فيو فاما ان يتم الحفظ في الجدولين او لايحفظ في حال حدوث خطأ اتمنى ان يفيدك
دمت بخير ياغالي


كود :
Private Sub Btn_Save_Click(sender As Object, e As EventArgs) Handles Btn_Save.Click

       Dim trans As SqlTransaction = Cn.BeginTransaction
       Cmd = New SqlCommand
       Cmd.Connection = Cn
       Cmd.Transaction = trans
       Cn.Open()
       Try
           Cmd.CommandText = "insert into BuyMaster(Buy_Id,Buy_Code,Buy_Date,Imp_Name,Total_Buy) Values(@Buy_Id,@Buy_Code,@Buy_Date,@Imp_Name,@Total_Buy)"
           Cmd.Parameters.Add(New SqlParameter("@Buy_Id", SqlDbType.Int)).Value = Txt_Buy_id.Text
           Cmd.Parameters.Add(New SqlParameter("@Buy_Code", SqlDbType.NVarChar)).Value = Txt_Buy_Code.Text
           Cmd.Parameters.Add(New SqlParameter("@Buy_Date", SqlDbType.Date)).Value = CDate(Dtp_Buy_Date.Value.ToString("dd-MM-yyyy"))
           Cmd.Parameters.Add(New SqlParameter("@Imp_Name", SqlDbType.NVarChar)).Value = Cmb_Imp_Name.Text
           Cmd.Parameters.Add(New SqlParameter("@Total_Buy", SqlDbType.Decimal)).Value = Lbl_TotalBill.Text
           Cmd.ExecuteNonQuery()
           Cmd.Parameters.Clear()

           For i As Integer = 0 To Dgv_BuyBill.Rows.Count - 1
               Cmd.CommandText = "insert into BuyDetail(Buy_Bill_Code,Itm_Code,itm_Name,Itm_Price,Quantity,Amount,State) Values(@Buy_Bill_Code,@Itm_Code,@itm_Name,@Itm_Price,@Quantity,@Amount,@State)"

               Cmd.Parameters.Clear() ' هذا السطر مهم جدا لانه يفرغ الباراميترات في كل لفة من لوب مما يمنع تكرار القيم

               Cmd.Parameters.Add(New SqlParameter("@Buy_Bill_Code", SqlDbType.NVarChar)).Value = Dgv_BuyBill.Rows(i).Cells("Buy_Bill_Code").Value
               Cmd.Parameters.Add(New SqlParameter("@Itm_Code", SqlDbType.NVarChar)).Value = Dgv_BuyBill.Rows(i).Cells("Itm_Code").Value
               Cmd.Parameters.Add(New SqlParameter("@itm_Name", SqlDbType.NVarChar)).Value = Dgv_BuyBill.Rows(i).Cells("itm_Name").Value
               Cmd.Parameters.Add(New SqlParameter("@Itm_Price", SqlDbType.Decimal)).Value = CDbl(Dgv_BuyBill.Rows(i).Cells("Price").Value.ToString())
               Cmd.Parameters.Add(New SqlParameter("@Quantity", SqlDbType.Int)).Value = Dgv_BuyBill.Rows(i).Cells("Quantity").Value
               Cmd.Parameters.Add(New SqlParameter("@Amount", SqlDbType.Decimal)).Value = CDbl(Dgv_BuyBill.Rows(i).Cells("Amount").Value.ToString())
               Cmd.Parameters.Add(New SqlParameter("@State", SqlDbType.Bit)).Value = True
               Cmd.ExecuteNonQuery()
           Next
           trans.Commit()
           MessageBox.Show("تم حفظ البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information)

       Catch ex As Exception
           trans.Rollback()

           MessageBox.Show(ex.Message)
           'MessageBox.Show("خطأ في البيانات المدخلة لم يتم الحفظ ", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
       Finally
           If Cn.State = ConnectionState.Open Then Cn.Close()
       End Try
       Cn.Close()
   End Sub
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: كيف أستخدم TRansaction حتى أضمن تطبيق الكود بشكل جيد - بواسطة ابراهيم ايبو - 09-05-21, 05:15 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information ما هو الخطاء في الكود ProgressBar1 Mostafa201255411 1 191 26-11-25, 08:19 PM
آخر رد: asmarsou
  [VB.NET] مساعدة تعديل على الكود ZEEN4ZEEN 2 209 08-10-25, 02:20 PM
آخر رد: salamandal
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 2 1,051 28-08-25, 09:13 AM
آخر رد: محمد مسافر
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 0 841 27-08-25, 04:05 PM
آخر رد: محمد مسافر
  ما هو الخطأ فى هذا الكود خالد كامل1 10 1,138 28-05-25, 09:16 PM
آخر رد: خالد كامل1
  ارسال رسالة الى تطبيق واتساب nabil.1710 6 3,682 26-04-25, 11:21 AM
آخر رد: hamedi2727
  ارجو تعديل الكود بواستطة الاجراء المخزن new_programer 3 676 03-04-25, 02:44 PM
آخر رد: princelovelorn
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 820 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 620 05-02-25, 01:51 AM
آخر رد: new_programer
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 448 01-02-25, 03:48 PM
آخر رد: Microformt

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم