سؤال

وأنا جديدة على ASP.NET ولكن ليس في البرمجة. أنا المهاجرة موقعنا الحالي من PHP / ماي إلى ASP.NET (3.5) / SQLSERVER. لقد تم رصد وتقص هنا منذ إطلاق الموقع، لذلك أنا واثق من أن واحد (أو أكثر) من يمكنك مساعدتي. وإليك السيناريو:

وهذا هو موقع قسم التدريب وقسم. لديه كتالوج بالطبع المخزنة في course الجدول. قد يكون لكل بالطبع العديد من المقررات الدراسية، على سبيل المثال، A و B هما شرطان أساسيان لC. I عادة تخزين هذه إما عمود بفواصل في course أو في course_prereq طاولة منفصلة أو course_course كعلاقة متكررة. هذا الجزء يمكنني القيام به.

ولكن، تتطلب قواعد العمل التي كل دورة يمكن أن يكون مجموعات متعددة من الشروط. الصدارة سبيل المثال، N يتطلب A، B وC، أو N يتطلب X وY. هذا هو المكان الذي أنا عالقة.

وفي السابق، وأنا تخزين هذه المعلومات في عمود للN صف واحد كما A,B,C|X,Y، تحليل معرفات في PHP 2D مصفوفة، قدم الاستعلام الثاني لجميع الصفوف التي كانت في ذلك مجموعة، PHP ثم تستخدم لفصل تلك الصفوف معرف في مجموعاتهم. وبمجرد الانتهاء من كل هذه المعالجة، يتم عرض مجموعة من الشروط المسبقة كما جداول منفصلة في صفحة الويب، كما يلي:

<اقتباس فقرة>   

و| A | A's information goes here |
| B | B's information goes here |
| C | C's information goes here |
- - - - - - - OR - - - - - - - -
| X | X's information goes here |
| Y | Y's information goes here |

وكيف لي أن تحقيق ذلك ASP.NET باستخدام؟

هل كانت مفيدة؟

المحلول

وإضافة جدول لعقد Prerequisite Sets. يحمل هذا الجدول معرف مجموعة ومفتاح العودة الى طاولة المفاوضات دورات كل دورة في المجموعة. قد يكون الجدول عدة صفوف للحصول على معرف مجموعة معينة، لذلك المفتاح الأساسي الخاص بك وسوف يكون معرف مجموعة <م> زائد معرف بالطبع. ثم في الجدول course_prereq بك أن تتصل دورات لمجموعات مسبق مختلفة. علاقة OR يمكن افتراض هناك لأن يتم فرض أي ANDs في انفسهم من مجموعات.

نصائح أخرى

هل لديك جدول يسمى PrerequisiteSet أن FKS لكل متطلب. ثم يكون Course_PrerequisiteSet الكثيرين إلى طاولة الكثيرون أن FKS على ملعب وPrerequisiteSet. ومعظم الوقت يكون هناك سوى إدخال واحد في Course_PrerequistieSet، ولكن إذا كان هناك أكثر من واحد، بعد ذلك سوف تكون علاقة OR.

وكانت

كل الإجابات أعلاه مفيدة جدا. انتهى بي الأمر فقط باستخدام جدول قاعدة بيانات واحدة بدلا من اثنين المقترحة. يحتوي الجدول على course_id، prereq_id، وset_id، والتي تشكل معا المفتاح الأساسي.

في صفحة ASP.NET، يمكنني استخدام مكرر لحلقة على إجراء sqldatasource مخزن يقوم بإرجاع مجموعات مسبق دورة، ووgridview داخل هذا مكرر الذي يقرأ المعلومات المطلوبة مسبقا الفردية من إجراء مخزن sqldatasource الثاني. مثل هذا:

<اقتباس فقرة>   

وRepeaterSqlDataSource (عوائد مجموعة هويات)
    Repeater
    . . . GridViewSqlDataSource (بإرجاع معلومات بالطبع لكل prereq_id في مجموعة
    . . . GridView

وهذا الأمل هو مفيد لأي شخص آخر يبحث في سيناريو مماثل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top