تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في حفظ بيانات من الجدولين
#1
السلام عليكم :
في البداية دعوني اشخص لكم المشكلة لكي تتعرفو عليها اكثر وهي انة عندي جدولين , الجدول الاول وهو Employee يحتوي علي الحقول الاتية وهي  emp_no , martil , family حقل فاملي وهو المفتاح الاساسي .  والجدول الثاني وهو family1  وبة الحقول الاتية وهي family_no , family_n   مشكلتي وهي :

للعلم ان الحقل family  الذي هو موجود في جدول employee هو مفتاح اساسي اني واضعة في خصائص sql serever يتغير بمقدار واحد اي يعني عند اضافة حقل في الجدول الاول يعطي مقدار زيادة بمعني auto number 

الاضافة تتم بشكل عادي علي الجدول الاول وهذا مثال ويشتغل مائة في المئة

PHP كود :
cmd.CommandType CommandType.Text
            cmd
.Connection con





            cmd
.CommandText "insert into employee  (emp_no , martil , eqama , em_hair , qiad_no , education , major , fea , mastua , depart , supertend , coordinat , supervtion)  values ('" TextBox1.Text "' , '" ComboBox1.Text "'  , '" TextBox2.Text "' , '" MaskedTextBox1.Text "' , '" TextBox3.Text "' , '" TextBox4.Text "' , '" TextBox5.Text "' , '" TextBox6.Text "' , '" TextBox7.Text "' , '" ComboBox2.Text "' , '" TextBox8.Text "' , '" TextBox9.Text "' , '" TextBox10.Text "')"


 
           cmd.Connection.Open()
 
           cmd.ExecuteNonQuery()
 
           cmd.Connection.Close() 

ملاحظة : الجدول الثاني family1

وبة حقل family_no الذي يأخذ الرقم الموجدود في الحقل family  الذي هو موجود في الجدول employee  وبالتالي يبدأ الحقل family_n الذي هو مفتاح اساسي في توليد autonumber .

اريد اضافة سجل جديد في الجدول الثاني عن طريق جملة الاستعلام insert nto  هذا مثال ولكنة لايضيف اي بيانات في الجدول الثاني 

PHP كود :
cmd.CommandText "insert family1 (descrip , name , birth_date , nf_watni , family_no)  values (@descrip , @name , @birth_date , @nf_watni )"

 
           cmd.Parameters.Add("@descrip"SqlDbType.NChar).Value TextBox11.Text
            cmd
.Parameters.Add("@name"SqlDbType.NVarChar).Value TextBox12.Text
            cmd
.Parameters.Add("@birth_date"SqlDbType.Date).Value MaskedTextBox2.Text
            cmd
.Parameters.Add("@nf_watni"SqlDbType.NVarChar).Value TextBox15.Text




            cmd
.Connection.Open()
 
           cmd.ExecuteNonQuery()
 
           cmd.Connection.Close() 
الرد
تم الشكر بواسطة:
#2
السلام عليكم أخي العزيز ورحمة الله وبركاته
من الواضح أن هناك علاقة بين الجدول Employee والجدول family1 وذلك من خلال الحقل Fanmily_no الذي يحمل ميزة المفتاح الأساسي في الجدول Employee والحقل Family_no الذي يحمل ميزة المفتاح الأجنبي في الجدول Family1.
وقد أشرت حضرتك إلى أنك نفذت عملية ترحيل للبيانات المتعلقة بالجدول الأول Employee وقد تمت بنجاح في حين قمت بعملية ترحيل للجدول الثاني الإبن وهو Family1 ولكن لا تظهر البيانات في المشروع، والسبب في ذلك أنك لم تقم بترحيل قيمة أو قيم الحقل Family_no الموجود في الجدول Employee مع بيانات الجدول الثاني.
كما أريد أن أسأل أيضا هل البيانات لا تظهر في المشروع أم في قاعدة البيانات؟
إسرائيل إلى زوال ... وسوف تثبت الأيام ذلك ... قريباً إن شاء الله.
الرد
تم الشكر بواسطة:
#3
شكرا اخيالكريم عالرد :
للتصحيح  جملة( أنك لم تقم بترحيل قيمة أو قيم الحقل Family الموجود في الجدول Employee مع بيانات الجدول الثاني)

البيانات لاتعرض علي الفورم ولكن تعرض علي الجدول الموجود employee  في قاعدة البيانات

لكي يتم اضهار البيانات علي الفورم اي ان عند اضافة سجل جديد يجب ان تمرر قيمة الحقل family التابع للجدول employee والذي بدورة عبارة عن مفتاح اساسي auto increment  الي الحقل family_no التابع للجدول الثاني والذي بدورة عبارة عن مفتاح خارجي لكي يعطي قيمة متكررة للبيانات وبالتالي يتحرك الحقل الاخر وهو family_n والذي بدورة وهو مفتاح اساسي اخر auto increment

اخي الكريم لكي توضح الفكرة :
الجدول الاول empolyee   ويوجد فية family وهو مفتاح اساسي يتغير بمقدار واحد
 الجدول الثاني family1 ويوجد بة family_no وهو مفتاح خارجي للتكرار . وحقل اخر وهو family_n وهو مفتاح اساسي يتغيير بمقدار واحد


الرد
تم الشكر بواسطة:
#4
أنت قلت ما في مشكلة مع Employee ولكن المشكلة في جدول الـ Family1، هل عند ترحيل البيانات المتعلقة بـ Family1 من النموذج لا تظهر في قاعدة البيانات أم في النموذج؟
أرجو الإجابة على السؤال

يا أخي حط صورة عن تصميم المشروع بس لنفهم عليك ونقدر نحل المشكلة
إسرائيل إلى زوال ... وسوف تثبت الأيام ذلك ... قريباً إن شاء الله.
الرد
تم الشكر بواسطة:
#5
ياأخي الكريم :
البيانات تخزن في الجدول الاول تمام ولكن لاتعرض علي الفورم عند الدخول علي قاعدة البيانات اجد ان البيانات مخزنة في الجدول الاول , هل تعرف السبب لماذا انا اقول لك وهو ان الجدولين مربوطين تمام بعلاقة لذا يجب اسناد قيمة متكررة لكي تحرك الحقل family_n والذي بدورة يولد ارقام تتحرك بمقدار واحد وبالتالي سوف يتم اضافة البيانات للجدول الثاني وسوف يتم عرضها علي الفورم . انا اعرف الشي هذا ولكن الذي لخبطني وهو كيف يتم اضافة بناء الجملة insert into علي الجدولين
الرد
تم الشكر بواسطة:
#6
نفذ عمليتي Insert بنفس العرض لكل من الجدولين
إسرائيل إلى زوال ... وسوف تثبت الأيام ذلك ... قريباً إن شاء الله.
الرد
تم الشكر بواسطة:
#7
(25-02-17, 07:44 PM)khodor1985 كتب : نفذ عمليتي Insert بنفس العرض لكل من الجدولين

لاحظ معي اخي الكريم هذة الجمل

PHP كود :
cmd.CommandText "insert into employee (emp_no , martil )  values ('" TextBox1.Text "' , '" ComboBox1.Text "') "


 
           cmd.Connection.Open()
 
           cmd.ExecuteNonQuery()
 
           cmd.Connection.Close 
PHP كود :
cmd.CommandText "insert into family1 (descrip , name )  values ('" TextBox11.Text "' , '" TextBox12.Text "') "


 
           cmd.Connection.Open()
 
           cmd.ExecuteNonQuery()
 
           cmd.Connection.Close() 
الاولي تضيف سجل جديد الي البيانات المنسدة اليها .
الثانية لايشتغل .

الموضوع ينقصة المفتاح الاساسي = المفتاح الخارجي لكي يضيف البيانات الي الجدول الثاني ولكن كيف يتم دمج الجدولين في جمة insert into هذا لم اعرفة

يبدو ان الموضوع صعب ولكن لابد من طريقة
الرد
تم الشكر بواسطة:
#8
السلام عليكم

ضع في كل جدول عمود مفتاح رئيسي وسمه ID ترقيم تلقائي.
وفي أي جدول يريد يرتبط بجدول آخر ضع عمود نوع رقم سمه Table3_ID والاسم Table3 مثال لاسم الجدول الآخر الذي سيرتبط به.
بعد ذلك قم بالربط بينهم بالطريقة المعروفة في قسم العلاقات Diagram.
الرد
تم الشكر بواسطة:
#9
شكرا عالرد
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيف يمكن تفادي مشكلة اقلاع البرنامج اكثر من مرة larbihamri 1 26 منذ 3 ساعة مضت
آخر رد: محمد اسماعيل
  مشكلة فى استدعاء الفاتورة للتعديل عليها atef_020 17 226 أمس, 07:18 PM
آخر رد: elgokr
  مشكلة ظهور الارقام في تقرير الكريستال ريبورت باللغة الانجليزية محمد صلاح ابراهيم 1 48 15-07-18, 05:07 PM
آخر رد: elgokr
Exclamation مشكلة في تثبيت Visual Studio 2013 YousefOkasha 7 296 13-07-18, 10:33 PM
آخر رد: YousefOkasha
  [سؤال] مشكلة عند عمل رن للمشروع khaled_2017 9 163 13-07-18, 07:32 PM
آخر رد: elgokr
  [VB.NET] مشكلة عند اضافة البيانات للسيرفر محمد اسماعيل 7 92 11-07-18, 04:28 AM
آخر رد: elgokr
  [VB.NET] مشكلة في الكريستال ريبورت فراس الغزي 1 59 09-07-18, 03:00 PM
آخر رد: elgokr
  خطأ فى اتصال بقاعدة بيانات 2007 فى عمل كريستال ريبوت ارجو التفسير خالد كامل1 1 48 09-07-18, 03:39 AM
آخر رد: boudyonline
  [VB.NET] الاضافة لقاعدة بيانات سيكول سيرفر باستضافة مدفوعة محمد اسماعيل 10 131 06-07-18, 10:24 PM
آخر رد: محمد اسماعيل
  اخواني لدي مثال مشروع تعديل علي بيانات موجودة علي حسب تاريخ اليوم نور الهدى الهدى 7 174 06-07-18, 05:54 PM
آخر رد: elgokr

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


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