![]() |
|
العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40) +--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41) +--- الموضوع : العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول (/showthread.php?tid=7775) |
العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - rohiem - 28-02-13 السلام عليكم ورحمة الله وبركاته عندي قاعدة بيانات sql 2008 وبها عدة جداول .... عملت علاقات بينها ... في الإس كيو إل سيرفر ( هل هذا أفضل أم الأفضل أن أتركها بدون علاقات ثم أعمل العلاقات في الفيجول بيسك ) كذلك كيف أجعل 2 داتا قريد في الفورم الرئيسي كل واحد منهما يظهر بيانات أحد الجداول المرتبطة بالجدول الرئيسي ؟ مثال : الجدول الرئيسي : جدول الطلاب ... فيه مفتاح أساسي : رقم الطالب جدول فرعي : دورات الطالب ... فيه حقل مرتبط ( رقم الطالب ) جدول فرعي : صفوف الطالب : فيه حقل مرتبط ( رقم الطالب ) عملت فورم رئيسي فيه بينات الجدول ( جدول الطلاب ) ثم عمل 2 داتا قريد أريد أعرض في واحد منهما ( دورات الطالب ) مع إمكانية التعديل والاضافة وفي الثاني ( صفوف الطالب ) مع التعديل والاضافة . ماهي أفضل الطرق لعمل ذلك ؟ ================ وبالنسبة للشق الثاني من العنوان : بعد أن عملت جدول في قاعدة البيانات وعملت فيه حقل رقم ( رقم الدورة مثلا ) ولم أجعله ترقيم تلقائي ... الآن إذا احتجت إلى ترقيم تلقائي في هذا الجدول ( حتى قبل أن أكتب أي شيء فيه ) لا أستطيع أن أغير هذا الحقل ولا أن أضيف حقل جديد به خاصية الترقيم التلقائي ... كذلك لا أستطيع تعديل خاصية الـ ( Null ) إلى (not Null) أو العكس ... وتظهر رسالة تخبرني بأنه لابد أن أبني الجدول من جديد!!!!! هل من حل لتجاوز ذلك ؟ العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - rohiem - 03-03-13 هل من مساعد العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - ربيع - 03-03-13 نحمده ونصلي على رسوله الكريم إقتباس :السلام عليكم ورحمة الله وبركاتهوعليكم السلام ورحمة الله وبركاته إقتباس :عندي قاعدة بيانات sql 2008 وبها عدة جداول .... الأفضل صنع العلاقات داخل قاعدة البيانات وليس من الكود. إقتباس : كذلك كيف أجعل 2 داتا قريد في الفورم الرئيسي كل واحد منهما يظهر بيانات أحد الجداول المرتبطة بالجدول الرئيسي ؟ بعد أن تجلب البيانات بجملة الاستعلام inner join، اسند البيانات لـ bindingsource، وقم باستخدام الـ bindingsource كمصدر بيانات لكلا الجريد، بتغيير اسم الجدول لكل واحده منهن طبعا. إقتباس :وبالنسبة للشق الثاني من العنوان :توجه لـ:
prevent saving changes that require table re-creation
العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - rohiem - 04-03-13 جزاك الله خيراً أستاذي الفاضل ... بالنسبة لسيرفر sql فقد اتبعت تعليماتك وانحلت المشكلة ... ولله الحمد ولك جزيل الثواب . وبالنسبة لعملية الربط فلم أوفق تماماً في إسناد جملة ( inner join ) لـ (bindingsource) ... حيث أنه في الجدول الثاني ( القريد ) يظهر كافة الحقول ... الخ ... ولقد قمت بعملية الربط باستخدام مطول (لأنني مبتدئ) لجملة Relations وإليك توضيح لمثل ما قمت به في الأكواد التالية كود : Dim cmd As SqlCommand = New SqlCommand("SELECT * from stu_data ", con)أنا أعتقد ( بل أكاد أجزم ) بأنني طولت وكررت في الكود ولكن هذا ما وصل إليه فهمي .... مشكلتي الآن : ** مثلاً الحقل ( stu_contry ) هو كومبو يأخذ قيمته من جدول الدول بالكود التالي كود : Dim cmd1 As SqlCommand = New SqlCommand("SELECT * from contry ", con)** ماذا أكتب في كود الحفظ والحذف... لأنني عند إضافة سجل جديد رقم الطالب ( stu_no ) حقل ترقيم بالكود - يعني يبحث عن أعلى رقم ويزيده 1 - بمعنى أنه في قريد الدورات عندما أضيف سجل جديد أو سجلين لهذا الطالب سيكون حقل الربط ( cou_stu_no ) فاضي ولن يقبل الحفظ .. لو عدلت الكود الأول إلى ( inner join ) كيف سيكون الاسناد إلى البيندنج سورس وكيف سيكون كود الحفظ . العفو العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - ربيع - 06-03-13 نحمده ونصلي على رسوله الكريم العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - rohiem - 06-03-13 جزاك الله خيراً أستاذي الفاضل لقد قمت بالتعديل قليلاً على الملف المرفق من قبلك لأوضح لك فكرة ما أريده ( حتى لو لم أعدل فالمشكلة موجودة ) المشكلة : عند إضافة سجل ( طالب ) جديد لو أردنا التحرير السريع ( أعني إدخال البيانات السريع ) فهذا يعني أن أكتب كل البيانات عن الطالب ( إسمه ودوراته ) ثم أضغط زر حفظ ( واحد ) ليحفظ البيانات كلها دفعة واحدة كل شيء في جدوله ... هنا تكمن المشكلة .. حيث أنه سيجد في بيانات الدورات ( رقم الطالب - بالسالب - قبل الترقيم النهائي) وعند الحفظ سيحفظ أولاً بيانات الطالب برقم جديد ثم لما يصل إلى نقطة حفظ بيانات الدورات لن يجد الفيرجن كي صحيحاً ... فتظهر المشكلة ولا يحفظ بيانات الدورات التي في القريد .. كما هو الحال في الإسم الرابع الذي أضفته ... أما الإسم الثالث فقد كتبت بياناته أولاً ثم حفظته ثم أضفت الدورة ثم حفظته .. وهذا متعب ... المطلوب : عند الضغط على زر الحفظ الموجود أسفل القريد يحفظ بيانات الطالب ويقوم بتعديل الفيرجن كي في القريد لتوافق الرقم الصحيح له ويحفظها ( أي الحفظ دفعة واحدة بزر واحد ) .. العفو على الإزعاج .. العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - rohiem - 10-03-13 هل من مساعد العلاقات بين أكثر من جدولين ... وآلياتها ... وتعديل نوع الحقول - rohiem - 14-03-13 وينكم أساتذتي |