تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[Acces2010] مساعدة في كود استيراد يانات
#6
(31-12-24, 01:07 AM)fireswored1 كتب : شكرا لحضرتك لكن ظهر مشكلة اخيرة وهيا الستدعاء الاجبات من نفس الرقم العشوائي هل لها حل

المثال التالي كامل يعمل جيدا وتمت تجربته
المطلوب
قاعدة بيانات أكسس 
بها جدول أسمه  Questions يحتوي على الأعمدة التالية 
ID 
Question حقل نصي وفيه ستضع الأسئلة
  OptionA حقل نصي وفيه الأجابة الأولى
  OptionB حقل نصي وفيه الأجابة الثانية
  OptionC حقل نصي وفيه الأجابة الثالثة
  OptionD حقل نصي وفيه الأجابة الرابعة
CorrectAnswer  حقل نصي وفيه ستضع الأجابة الوحيدة الصحيحة مما سبق


أفتح مشروع جديد
form1
أضف الأدوات التالية
 LabelQuestion
           ButtonA
           ButtonB
           ButtonC
           ButtonD

ثم أضف الكود التالي كاملا في form1
كود :
Imports System.Data.OleDb

Public Class Form1



   Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=مسار_قاعدة_البيانات.accdb;"
   Dim questions As New List(Of Question)()
   Dim currentQuestionIndex As Integer = 0

   Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       LoadQuestions()
       DisplayQuestion()
   End Sub

   Private Sub LoadQuestions()
       Using connection As New OleDbConnection(connectionString)
           Dim command As New OleDbCommand("SELECT * FROM Questions", connection)
           connection.Open()
           Dim reader As OleDbDataReader = command.ExecuteReader()

           While reader.Read()
               Dim q As New Question()
               q.ID = reader("ID")
               q.Text = reader("Question").ToString()
               q.OptionA = reader("OptionA").ToString()
               q.OptionB = reader("OptionB").ToString()
               q.OptionC = reader("OptionC").ToString()
               q.OptionD = reader("OptionD").ToString()
               q.CorrectAnswer = reader("CorrectAnswer").ToString()
               questions.Add(q)
           End While
       End Using
   End Sub

   Private Sub DisplayQuestion()
       If currentQuestionIndex < questions.Count Then
           Dim question As Question = questions(currentQuestionIndex)
           LabelQuestion.Text = question.Text
           Buttona.Text = question.OptionA
           Buttonb.Text = question.OptionB
           Buttonc.Text = question.OptionC
           Buttond.Text = question.OptionD
       Else
           MessageBox.Show("انتهت الأسئلة!")
       End If
   End Sub

   Private Sub Button_Click(sender As Object, e As EventArgs) Handles Buttona.Click, Buttonb.Click, Buttonc.Click, Buttond.Click
       Dim selectedButton As Button = CType(sender, Button)
       Dim selectedAnswer As String = selectedButton.Text

       If selectedAnswer = questions(currentQuestionIndex).CorrectAnswer Then
           MessageBox.Show("إجابة صحيحة!")
       Else
           MessageBox.Show("إجابة خاطئة! الإجابة الصحيحة هي: " & questions(currentQuestionIndex).CorrectAnswer)
       End If

       currentQuestionIndex += 1
       DisplayQuestion()
   End Sub

End Class

Public Class Question
   Public Property ID As Integer
   Public Property Text As String
   Public Property OptionA As String
   Public Property OptionB As String
   Public Property OptionC As String
   Public Property OptionD As String
   Public Property CorrectAnswer As String
End Class


حتى الأن الفكرة تعمل بشكل جيد
عليك التعديل في التصميم على حسب رؤيتك
ولا تنسي تغيير مسار القاعدة في الكود 

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

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


الردود في هذا الموضوع
RE: مساعدة في كود استيراد يانات - بواسطة princelovelorn - 31-12-24, 02:54 PM


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


يقوم بقرائة الموضوع: