تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة
#1
السلام عليكم ورحمة الله 
عندي مشكلة وهي في حدث معين أقم بعمل 2 insert للبيانات قد يدخل الأول بدون مشاكل ولكن قد تحدث في الثاني مشكلة، فيتم إدخال البيانات الأولة والثانية لا، وانا اريدها ان يدخلوا معا أول لا فكين امنع الأول من الدخول في حالة حدوث مشكلة في الثاني
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

أنا عن نفسي لم أفهم شيئا من الذي قلته !
الأفضل الكتابة بشكل أوضح ؛ حتى يمكننا أن نفهم المشكلة .
الرد }}}
تم الشكر بواسطة:
#3
(26-10-24, 06:55 PM)motasem كتب : السلام عليكم ورحمة الله 
عندي مشكلة وهي في حدث معين أقم بعمل 2 insert للبيانات قد يدخل الأول بدون مشاكل ولكن قد تحدث في الثاني مشكلة، فيتم إدخال البيانات الأولة والثانية لا، وانا اريدها ان يدخلوا معا أول لا فكين امنع الأول من الدخول في حالة حدوث مشكلة في الثاني

ضع الكود او مثال بسيط لفهم اصل المشكلة وحلها
احيانا يكون الكود سليم ولكن المشكل في تنسيق بيانات الدخول والحفظ مع الحقول المقابلة لها(نص . رقم . تاريخ ...الخ)
الرد }}}
تم الشكر بواسطة:
#4
Wink 
السلام عليكم
بشكل عام، لحل هذه المشكلة يمكنك استخدام Transactions في SQL Server.
Transactions تسمح لك بتجميع عدة عمليات معاً كوحدة واحدة، بحيث يتم تنفيذ جميع العمليات بنجاح أو يتم التراجع عنها جميعاً في حالة فشل أي عملية.
إليك مثال لكيفية استخدام Transactions في Visual Basic مع SQL Server:

كود :
Using connection As New SqlConnection("Your connection string")
   connection.Open()

   Using transaction As SqlTransaction = connection.BeginTransaction()
       Try
           ' إنشاء أمر SQL لإدخال البيانات الأولى
           Using command1 As New SqlCommand("INSERT INTO Table1 (Column1, Column2) VALUES (@Value1, @Value2)", connection, transaction)
               command1.Parameters.AddWithValue("@Value1", value1)
               command1.Parameters.AddWithValue("@Value2", value2)
               command1.ExecuteNonQuery()
           End Using

           ' إنشاء أمر SQL لإدخال البيانات الثانية
           Using command2 As New SqlCommand("INSERT INTO Table2 (Column1, Column2) VALUES (@Value3, @Value4)", connection, transaction)
               command2.Parameters.AddWithValue("@Value3", value3)
               command2.Parameters.AddWithValue("@Value4", value4)
               command2.ExecuteNonQuery()
           End Using

           ' تنفيذ المعاملة
           transaction.Commit()

           MessageBox.Show("تم إدخال البيانات بنجاح.")

       Catch ex As Exception
           ' التراجع عن المعاملة في حالة حدوث خطأ
           transaction.Rollback()

           MessageBox.Show("حدث خطأ أثناء إدخال البيانات: " & ex.Message)
       End Try
   End Using
End Using
التميز و الابداع شعاري
الرد }}}
تم الشكر بواسطة: salamandal



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


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