31-12-24, 05:16 PM
لإتمام عملية استيراد الأسئلة والإجابات من قاعدة بيانات Access بشكل عشوائي وإظهارها في عناصر مثل Label أو ListBox في تطبيقك بلغة Visual Basic.NET، يمكنك استخدام الكود التالي:
الخطوات
vb.net
نسخ الكود
ملاحظات
الخطوات
- تأكد من أنك قد أنشأت قاعدة البيانات وقمت بإضافة جدول يحتوي على الأعمدة المناسبة للأسئلة والإجابات.
- أضف مرجعًا لـ System.Data.OleDb في مشروعك للتعامل مع قواعد بيانات Access.
- استخدم الكود التالي لاستيراد البيانات بشكل عشوائي.
vb.net
نسخ الكود
كود :
Imports System.Data.OleDb
Public Class Form1
' استبدل بمسار قاعدة البيانات الخاص بك
Private Const DbPath As String = "C:\PathToYourDatabase\QuestionsDatabase.accdb"
Private ConnectionString As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={DbPath};"
' جلب سؤال عشوائي وإظهاره
Private Sub LoadRandomQuestion()
Dim query As String = "SELECT TOP 1 * FROM Questions ORDER BY RND(ID)"
Dim questionText As String = ""
Dim answer1 As String = ""
Dim answer2 As String = ""
Dim answer3 As String = ""
Dim answer4 As String = ""
Using conn As New OleDbConnection(ConnectionString)
Dim cmd As New OleDbCommand(query, conn)
conn.Open()
Dim reader As OleDbDataReader = cmd.ExecuteReader()
If reader.Read() Then
questionText = reader("Question").ToString()
answer1 = reader("Answer1").ToString()
answer2 = reader("Answer2").ToString()
answer3 = reader("Answer3").ToString()
answer4 = reader("Answer4").ToString()
End If
reader.Close()
End Using
' عرض السؤال والإجابات في واجهة المستخدم
lblQuestion.Text = questionText
lstAnswers.Items.Clear()
lstAnswers.Items.Add(answer1)
lstAnswers.Items.Add(answer2)
lstAnswers.Items.Add(answer3)
lstAnswers.Items.Add(answer4)
End Sub
' استدعاء الوظيفة عند تحميل الفورم
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LoadRandomQuestion()
End Sub
End Class- هيكل قاعدة البيانات:
- تأكد من أن لديك جدولًا باسم Questions يحتوي على الأعمدة:
- ID: (رقم تلقائي أو مفتاح أساسي)
- Question: نص السؤال
- Answer1, Answer2, Answer3, Answer4: الإجابات المختلفة.
- ID: (رقم تلقائي أو مفتاح أساسي)
- تأكد من أن لديك جدولًا باسم Questions يحتوي على الأعمدة:
- الاستعلام العشوائي:
- نستخدم
ORDER BY RND(ID) - لجلب صف عشوائي من الجدول.
- نستخدم
- التعامل مع المكونات:
- استبدل
lblQuestion - و
lstAnswers - بالأسماء المناسبة للعناصر لديك.
- استبدل
- إضافة الإجابات بشكل عشوائي:
- إذا أردت خلط الإجابات داخل الـ
ListBox - ، يمكنك استخدام الشيفرة التالية:
vb.net
نسخ الكود
Dim random As New Random()Dim shuffledAnswers = lstAnswers.Items.Cast(Of String)().OrderBy(Function() random.Next()).ToList()lstAnswers.Items.Clear()lstAnswers.Items.AddRange(shuffledAnswers.ToArray())
- إذا أردت خلط الإجابات داخل الـ
- انسخ الكود أعلاه في مشروع Windows Forms.
- تأكد من تحديث المسار إلى قاعدة البيانات
DbPath - .
- شغّل التطبيق للتأكد من أن الأسئلة والإجابات تظهر بشكل صحيح وعشوائي.

