تقييم الموضوع :
  • 1 أصوات - بمعدل 2
  • 1
  • 2
  • 3
  • 4
  • 5
كيف يمكنني عمل trigger يقوم بإضافة بيانات حقل من جدول ما إلى حقل في جدول آخر
#21
حريف برمجة كتب :مرحبا مره أخرى ،،،،

الأخ محمد ماقصر الله يجزاه خير ،،، ولكن لي ملاحظتين :

# الملاحظة الأولى : الأخ محمد عمل ثلاث عمليات العملية الأولى : (ادخال اسم الفصل في جدول الفصول) العملية الثانية (ادخال رقم الآيدي للفصل في جدول الشعب) العملية الثالثة (تعديل على جدول الشعب بموجب شرط آخر رقم للآيدي واضافة اسم الشعبة)

بينما هي عمليتين بالأصل (ادخال اسم الفصل في جدول الفصول) و (ادخال رقم الآيدي للفصل واسم الشعبة في جدول الشعب) فقط

# الملاحظة الثانية : والتي اعتبرها مشكلة ان لم تنتبهو لها وشرح المشكلة كالتالي :

ماتفضل به اخي محمد : انه ادخل اسم الفصل ثم جلب آخر رقم للأيدي من جدول الفصل وقام ادخل في جدول الشعب .... هنا المشكلة

لنفرض يوجد في سجل الفصول سجل واحد فقط ،،، بإسم الفصل الأول . والآيدي التابع له رقم 1 .

وقمت انا ادخال اسم الفصل الثاني حيكون الآيدي التابع له رقم 2 .

لنفرض موظف آخر قام بإدخال سجل في نفس الوقت في الجدول . سيكون الآيدي التابع له رقم 3 .

عند تنفيذ الجملة المطروحه من أخي محمد سيجلب آخر رقم للآيدي من الجدول وهنا يكون رقم 3 .... هنا الخطأ .

الحل يكون كالتالي : عند اضافة سجل نجلب الآيدي للسجل نفسه بجملة واحده مع عملية الإدخال :

لاحظو الحل يتكون أولاً من عمليتين وليس ثلاث ، أيضاً رقم الآيدي يكون مخصوص لرقم السجل المضاف وليس آخر سجل اضيف .

كود :
Dim cmd As New SqlCommand
        cmd.Connection = conn
        conn.Open()

        cmd.CommandText = "INSERT INTO classes (classname) OUTPUT(Inserted.classno) VALUES (@classname)"
        cmd.Parameters.AddWithValue("@classname", TextBox1.Text)

        Dim sid As Integer = cmd.ExecuteScalar    'المسؤول عن ادخال البيانات وجلب رقم الآيدي في المتغير
        cmd.Dispose()


        Dim cmd2 As New SqlCommand
        cmd2.Connection = conn

        cmd2.CommandText = "INSERT INTO sections (classno,section) VALUES (@classno,@section)"
        cmd2.Parameters.AddWithValue("@classno", sid)
        cmd2.Parameters.AddWithValue("@section", TextBox2.Text)

        cmd2.ExecuteNonQuery()

        cmd2.Dispose()
        conn.Close()
المثال في المرفقات اي غموض انا موجود / بالتوفيق

لم أفهم المقصود بعبارة output الموجودة في السطر التالي
cmd.CommandText = "INSERT INTO classes (classname) OUTPUT(Inserted.classno) VALUES (@classname)"
cmd.Parameters.AddWithValue("@classname", TextBox1.Text)
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
كيف يمكنني عمل trigger يقوم بإضافة بيانات حقل من جدول ما إلى حقل في جدول آخر - بواسطة dena - 05-07-13, 06:50 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مقال] كيفية برمجة منتدى TextForum بدون قاعدة بيانات سعود 55 11,355 15-02-25, 08:31 PM
آخر رد: سعود
  كيفية عمل صفحة ويب وربطها بتقعدة بيانات علي جهاز makky 1 1,920 06-01-22, 11:48 AM
آخر رد: ahmedabdelaliem
  كيف اضيف بيانات الى gridview بدون استخدام datasource ؟؟ nowiglah 1 2,735 06-12-20, 08:36 PM
آخر رد: Osama_NY
  كيفية عرض بيانات اعضاء هيئية تدريس مع الصورة cordava 0 1,575 19-09-20, 07:03 PM
آخر رد: cordava
  [سؤال] خطأ عند انشاء قاعدة بيانات من داخل فجول استوديو2013 alsihran 1 2,469 30-03-20, 06:07 PM
آخر رد: alsihran
  كيف اسوي فورم ادخال بيانات الحكيمي 0 2,231 13-03-17, 11:01 AM
آخر رد: الحكيمي
  [C#.NET] مشكلة في حفظ بيانات cascading dmw2200 0 2,078 14-11-16, 02:08 PM
آخر رد: dmw2200
  كيف يتم بحت من خلال taxtbox وتضهر بيانات في داتا قريد فيو habib 2 2,940 29-10-16, 05:20 PM
آخر رد: أبو عمر
Exclamation كيف اسوي صفحة إدخال بيانات في ASP.NET ؟ أبو عمر 8 4,702 12-09-16, 11:32 PM
آخر رد: Abu Ehab
  أريد تصميم برنامج قواعد بيانات عبر الانترنت salim1281 3 3,171 24-11-15, 12:50 PM
آخر رد: HASAN6.0

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


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