الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سسؤال عند الدالة العشوائية

بدأه السيد الهاشمي في 23 فبراير 2012 · 5 رد · 772 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اخواني اعضاء ومشرفين المنتدى .. تحية طيبة :

عندي سؤال اخواني عن استخدام الدالة العشوائية ... اريد ان استخدمها في عمل اختبار اون لاين .. عندي جدول فيه مجموع من الاسئلة وجدول اخر فية اجابات الاسئلة ... واريد عندما ابداء الاختبار اخلي الاستعلام يختار لي مجموع من الاسئلة المجودة في الجدول بشكل عشوائي .. دون تكرار .. وعندما يدخل شخص اخر يريد ان يبداء الاختبار نفس الشي الدالة تقوم باختيار مجموع من الاسئلة بشكل عشوائي .

اريد ان اعرف كيف سوف اطبق الدالة العشوائية في هذه الكود ياليت الي عندة خبرة فيه يقولي كيف الطريقة .. انا اعرف استخدم الدالة في توليد ارقام عشوائية . لكن في هذه الكود اريد ان يختار لي ارقام اسئلة عشوائية وطبعاُ الاختيار بيكون عن طريق مفتاح الاساسي حق الاسئلة عشان مايحدث اي تكرار في اختيار الاسئلة .. ياليت ا لي يعرف يقولي كيف اسوي او لو في مثال توضيحي ولكم جزيل الشكر والتقدير

#2

السلام عليكم ...

  1. نفرض أن الأسئلة موجودة في List .. فيكون الكود :
     private void button1_Click(object sender, EventArgs e)
        	{
            	Random random = new Random();
            	List<String> questionList = new List<string>();
            	questionList.AddRange(new String[] {"Q1" , "Q2" , "Q3" , "Q4" , "Q5"});
            	while (questionList.Count > 0)
            	{
                	int selectedQuestion = random.Next(0, questionList.Count - 1);
                	Console.WriteLine(questionList[selectedQuestion]);
                	questionList.RemoveAt(selectedQuestion);
            	}
        	}

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

اعتقد اذا جعلنا في استعلام في قاعد البيانات يقوم بعمل حقل عشوائي ثم عمل فرز علي ومع خدمة top 10 يكون الناتج اسع واسل

ما هي نوع قاعدة البيانات

1
#4
houssam11350_11350 كتب:

السلام عليكم ...

  1. نفرض أن الأسئلة موجودة في List .. فيكون الكود :
     private void button1_Click(object sender, EventArgs e)
        	{
            	Random random = new Random();
            	List<String> questionList = new List<string>();
            	questionList.AddRange(new String[] {"Q1" , "Q2" , "Q3" , "Q4" , "Q5"});
            	while (questionList.Count > 0)
            	{
                	int selectedQuestion = random.Next(0, questionList.Count - 1);
                	Console.WriteLine(questionList[selectedQuestion]);
                	questionList.RemoveAt(selectedQuestion);
            	}
        	}

----------------------------

مشكور اخي العزيز على ردك لكن لم افهم المقصود منه .. انا عندي جدول في قاعدة البيانات اسمة test وفيه الاسئلة .. واريد ان يتم اختيار عشرة او عشرين سوال من الجدول بشكل عشوائي .. ويتم عرضها في دتا لست

KARIMSOFT كتب:

اعتقد اذا جعلنا في استعلام في قاعد البيانات يقوم بعمل حقل عشوائي ثم عمل فرز علي ومع خدمة top 10 يكون الناتج اسع واسل

ما هي نوع قاعدة البيانات

 Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True")
        Dim da As New SqlDataAdapter
        Dim sql As String
        Dim ds As New DataSet
        sql = "select  top 10 Question from Test"
        da = New SqlDataAdapter(sql, con)
        da.Fill(ds)
        DataList1.DataSource = ds.Tables(0)
        DataList1.DataBind()

اخي العزيز هذه هو الكود . اريد ان اعرض عشرة اسئلة او عشرين مثلن على حسب اختياري واريد ان يتم الاختيار بشكل عشوائي ويتم عرضها في دتا لست ...

ولكن اريد ان يتم الاختيار بشكل عشوائي عن طريف المفتاح الاساسي حق جدول الاسئلة الي اسمة test وطبعاء المفتاح الاساسي هو id_test واريد ان يتم الاختيار العشوائي في هذه الحقل بحيث يعرض لي عشرة اسئلة عشوائية من الجدول .. لانه عندي الجدول وفية اكثر من 100 سواء وكل سوال له رقم id_test مختلف ولك جزيل الشكر

#5

السلام عليكم ورحمة الله وبركاته

الحمد لله لقيت الحل ... بس لا اعرف هل هذه الحل هو الحل الافضل ؟ ام هناك حل افضل

هذه هو الكود بالشكل النهائي

 Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True")
        Dim da As New SqlDataAdapter
        Dim sql As String
        Dim ds As New DataSet
        sql = "SELECT TOP 5 qet FROM test ORDER BY NEWID()"

        da = New SqlDataAdapter(sql, con)
        da.Fill(ds)
        DataList1.DataSource = ds.Tables(0)
        DataList1.DataBind()
#6

الكود هذا ما اقصده و هو الاسرع

مواضيع مشابهة