تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] ترتيب واختيار c#
#1
السلام عليكم ورحمة الله وبركاته

في هذا الفورم عندي معلومات الطالب
اللي هي من جدول الطالب معلوماته العامة
وجدول التخصص وجدول النسب
يعني عندي ثلاثة جداول
اريد عرض معلومات الطالب اولا بصورة عادية وهذا تم ولكن في كود لم استطع تنفيذه
 اللي هو الاختيار من checkbox للترتيب تنازليا حسب معدلات الطلبة للمستوى النهائي  من كل تخصص
بعدها من الاختيار للارقام انه يكون حسب الرقم اللي اختاره يتم وضع الاختيار له
لو مثلا اختار 3  سيكون المختارين  3 من اعلى النسب في كل تخصص
ارجو المساعدة بالكود؟؟
   
أشهد أن لا اله إلا الله وأشهد أن محمد رسول الله
اللهم إجعلها آخر كلآمي

Heart
الرد }}}}
تم الشكر بواسطة: ابو ليلى
#2
ما هو شكل حاوية البيانات لديك اخي الكريم

بمعنى اخر هل البيانات في Datatable او DataSet او Array

لنقدم لك الحل الافضل بما يتناسب مع مجموعة البيانات
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة: ممدوح , mera.55
#3
لدي DataTable
وشكرا للمساعدة
أشهد أن لا اله إلا الله وأشهد أن محمد رسول الله
اللهم إجعلها آخر كلآمي

Heart
الرد }}}}
تم الشكر بواسطة:
#4
أيضا لو امكن تضع مشروع مصغر لما تريد مع قاعدة بياناته
الرد }}}}
تم الشكر بواسطة: mera.55 , ابو ليلى
#5
شكرا لك للمساعدة

ولكن لايمكنني تصميم مشروع مصغر لذك مرة اخرى لان الوقت يداهمني وامر بفترة امتحانات

لو تريد التعديل على الفورم سارسله لك مع قاعدة البيانات بسبب التحفظ عليه

 والمعذرة لذلك لانه مشروع تخرج


هذه صورة للجداول المستخدمة للعملية



الملفات المرفقة صورة/صور
   
أشهد أن لا اله إلا الله وأشهد أن محمد رسول الله
اللهم إجعلها آخر كلآمي

Heart
الرد }}}}
تم الشكر بواسطة:
#6
الفكرة الاولى 

بما ان العمل سيكون على 3 جداول مجتمعة فالافضل حتى لا ندخل في تعقيدات الربط في الاستعلام 
ان تقومي بانشاء View في القاعدة و يضم جميع الحقول التي تحتاجينها من الـ 3 جداول و بعدها يتم تحميل هذا View الى Dataset او DataTable 
و يتم اللعب بالاستعلامات على هذا DataTable باستخدام Ling 
او حتى اذا كنت لا تودين استخدام Ling يمكنك استخدام جمل SQL مباشرة على هذا View بكل بساطة
و جلب البيانات الى DataGridView 
اذا اعجبتك الفكرة قومي بانشاء الـ View مع الاشارة الى معاني الحقول (اقصد كل حقل ماذا يمثل)
و ان شاء الله نتابع بعد ذلك ......
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة: ممدوح , mera.55
#7
أخشى أن المشروع متشعب جدا لكن لا مانع من المحاولة في الانتظار على قدر الاستطاعة

هذه محاولة على ما فهمت من صورة الجداول
كود :
SELECT TOP (3)
       Student_Table.Student_ID,
       Student_Table.Student_Name,
       Student_Table.Specialization_ID,
       Student_Table.St_Current_Level

FROM   Specialization_Table

       INNER JOIN Student_Table
               ON Specialization_Table.Specialization_ID = Student_Table.Specialization_ID

WHERE  ( Student_Table.St_Current_Level = @level )

ORDER BY Student_Table.Specialization_ID,
         Student_Table.Student_Name

ومعروف أن TOP تأخذ أعلى أسطر وهنا تم تحديد 3 أسطر
و level@ هو بارامتر لتحديد المستوى
يبقى مسألة التنازلي والتصاعدي يكون مع ORDER BY فيكون DESC للتنازلي مثل
ORDER BY student_table.specialization_id DESC
ويمكن التنويع لكل عمود من ترتيب تصاعدي أو تنازلي
مع مراعاة أن الترتيب سيكون بناء على ترتيب اسماء الأعمدة بعد كلمة ORDER BY
الرد }}}}
تم الشكر بواسطة: mera.55 , mera.55 , ابو ليلى
#8
(22-10-16, 07:43 PM)ابو ليلى كتب : الفكرة الاولى 

بما ان العمل سيكون على 3 جداول مجتمعة فالافضل حتى لا ندخل في تعقيدات الربط في الاستعلام 
ان تقومي بانشاء View في القاعدة و يضم جميع الحقول التي تحتاجينها من الـ 3 جداول و بعدها يتم تحميل هذا View الى Dataset او DataTable 
و يتم اللعب بالاستعلامات على هذا DataTable باستخدام Ling 
او حتى اذا كنت لا تودين استخدام Ling يمكنك استخدام جمل SQL مباشرة على هذا View بكل بساطة
و جلب البيانات الى DataGridView 
اذا اعجبتك الفكرة قومي بانشاء الـ View مع الاشارة الى معاني الحقول (اقصد كل حقل ماذا يمثل)
و ان شاء الله نتابع بعد ذلك ......


شكرا استاذ
ولكن لم اتعامل مع view ولا اعرف كيفية تطبيقها لذلك سيصعب علي فهم ذلك قليلا
فانا اتعامل مع جمل الاستعلامات sql من خلال كلاس


عملية ظهور البيانات فيdatagridview تمت بالاستعلام

(22-10-16, 10:35 PM)ممدوح كتب : أخشى أن المشروع متشعب جدا لكن لا مانع من المحاولة في الانتظار على قدر الاستطاعة

هذه محاولة على ما فهمت من صورة الجداول
كود :
SELECT TOP (3)
      Student_Table.Student_ID,
      Student_Table.Student_Name,
      Student_Table.Specialization_ID,
      Student_Table.St_Current_Level

FROM   Specialization_Table

      INNER JOIN Student_Table
              ON Specialization_Table.Specialization_ID = Student_Table.Specialization_ID

WHERE  ( Student_Table.St_Current_Level = @level )

ORDER BY Student_Table.Specialization_ID,
        Student_Table.Student_Name

ومعروف أن TOP تأخذ أعلى أسطر وهنا تم تحديد 3 أسطر
و level@ هو بارامتر لتحديد المستوى
يبقى مسألة التنازلي والتصاعدي يكون مع ORDER BY فيكون DESC للتنازلي مثل
ORDER  BY student_table.specialization_id DESC
ويمكن التنويع لكل عمود من ترتيب تصاعدي أو تنازلي
مع مراعاة أن الترتيب سيكون بناء على ترتيب اسماء الأعمدة بعد كلمة ORDER BY

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

Heart
الرد }}}}
تم الشكر بواسطة:
#9
(22-10-16, 10:35 PM)ممدوح كتب : أخشى أن المشروع متشعب جدا لكن لا مانع من المحاولة في الانتظار على قدر الاستطاعة

هذه محاولة على ما فهمت من صورة الجداول
كود :
SELECT TOP (3)
      Student_Table.Student_ID,
      Student_Table.Student_Name,
      Student_Table.Specialization_ID,
      Student_Table.St_Current_Level

FROM   Specialization_Table

      INNER JOIN Student_Table
              ON Specialization_Table.Specialization_ID = Student_Table.Specialization_ID

WHERE  ( Student_Table.St_Current_Level = @level )

ORDER BY Student_Table.Specialization_ID,
        Student_Table.Student_Name

ومعروف أن TOP تأخذ أعلى أسطر وهنا تم تحديد 3 أسطر
و level@ هو بارامتر لتحديد المستوى
يبقى مسألة التنازلي والتصاعدي يكون مع ORDER BY فيكون DESC للتنازلي مثل
ORDER  BY student_table.specialization_id DESC
ويمكن التنويع لكل عمود من ترتيب تصاعدي أو تنازلي
مع مراعاة أن الترتيب سيكون بناء على ترتيب اسماء الأعمدة بعد كلمة ORDER BY
الاخ ممدوح ارى من خلال جملة الاستعلام لديك ان البيانات تم جلبها من جدول الطلاب فقط 
السؤال :لماذا استخدمت Inner Join اذا كانت البيانات كلها من جدول واحد ؟؟
سؤال اخر للاخت ميرا  ما هو الحقل (St_Current_Level) في جدول الطلاب هل هو نفس الحقل (Lvl_Current) من جدول Level
و ارى اننا بحاجة الى بعض التوضيح بخصوص الحقول التي تريدين عرضها في القريد و كذلك من اي جداول

لدي حدس يخبرني بهذا الشكل للاعمدة
PHP كود :
SELECT Specialization_Table.Specialization_Name,Student_Table.Student_IDStudent_Table.Student_NameLevel_Table.Lvl_Current
FROM 
Specialization_Table INNER JOIN  Student_Table ON Specialization_Table.Specialization_ID Student_Table.Specialization_IDINNER JOIN  Level_Table ON Student_Table.Student_ID Level_Table.Student_ID
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة: ممدوح , ممدوح
#10
عشان اوضح الفكرة


عندي في هالفورم اريد عن اختيار علامة الصح في خيار الترتيب التنازلي يتم ترتيب الطلبة لي  حسب معدلاتهم التي في حقل lvl_result  في جدول level  للفصل الدراسي الحالي لهم ويجمعهم حسب قروب من التخصصات
بعدها عبر الخيار للاعداد اتحكم في العدد المطلوب اختياره منهم  اي يتم تمرير متغير بالعدد عشان يرتبهم تنازليا وعلى خسب العدد المطلوب

ليتم تفعيل اختيارهم
هذي هي اظن الفكرة شوي متشعبة
أشهد أن لا اله إلا الله وأشهد أن محمد رسول الله
اللهم إجعلها آخر كلآمي

Heart
الرد }}}}
تم الشكر بواسطة:


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


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