phpMyAdmin
 sql >> डेटाबेस >  >> Database Tools >> phpMyAdmin

किसी विशिष्ट आईडी से संबंधित सभी पंक्तियों को चुनें और प्रदर्शित करें

जब आप किसी क्वेरी के परिणामसेट को पढ़ते हैं, तो आप एक लूप का उपयोग करते हैं जैसा कि आप जानते हैं।

While dr.Read
    ' run this for every row in your resultset 
    ...
End While

While लूप तब तक चलता रहता है जब तक आप सभी पंक्तियों को पढ़ नहीं लेते।

आपको लूप का उपयोग करने की आवश्यकता नहीं है। आप चाहें तो एक-एक करके पंक्तियों को इस तरह पढ़ सकते हैं

 If dr.Read
    ' just the first row
 End If
 If dr.Read
    ' just the second row
 End If
 If dr.Read
    ' just the third row
 End If
 ...

आपके प्रश्न से मुझे लगता है कि आपके पास Textbox1 है , Textbox2 , ... Textbox5 अपने रूप पर। मुझे यह भी लगता है कि आपके पास Grade1 है , Grade2 ....

विषय के नाम और ग्रेड दोनों को संभालने के लिए, अपनी क्वेरी की पहली पंक्ति को

. में बदलें
   sql = "SELECT subject_name, grade " & _

आप उन वस्तुओं को इस तरह भर सकते हैं:

 If dr.Read
    TextBox1.Text = dr.Item("subject_name").ToString
    Grade1.Text = dr.Item("grade").ToString
 End If
 If dr.Read
    TextBox2.Text = dr.Item("subject_name").ToString
    Grade2.Text = dr.Item("grade").ToString
 End If
 If dr.Read
    TextBox3.Text = dr.Item("subject_name").ToString
    Grade3.Text = dr.Item("grade").ToString
 End If
 ' more of these sets of four lines to fill your whole form.

यह आपकी समस्या का समाधान करता है। लेकिन आप शायद ध्यान दें कि यह बेतुका दोहराव है। आपको वास्तव में टेक्स्टबॉक्स की एक सरणी (वास्तव में दो सरणी) की आवश्यकता है। आप अपने प्रोग्राम में इन टेक्स्टबॉक्स को बनाते हैं और फिर भरते हैं। मैंने इसे डीबग नहीं किया है:यह आपके लिए है।

  Dim Subjects As Textbox()
  Dim Grades As Textbox()
  ...

  Dim rownumber, Y
  rownumber = 0
  Y = 200
  Dim Subject
  Dim Grade
  While dr.Read
    Subject = New Textbox
    Subject.Text = dr.Item("subject_name").ToString
    Subject.Width = 200
    Subject.Height = 40
    Subject.X = 175
    Subject.Y = Y
    Subjects(rownumber) = Subject
    Form.Controls.Add(Subject)
    Grade = New Textbox
    Grade.Text = dr.Item("grade").ToString
    Grade.Width = 50
    Grade.Height = 40
    Grade.X = 400
    Grade.Y = Y
    Grades(rownumber) = Grade
    Form.Controls.Add(Grade)
    rownumber = rownumber + 1
    Y = Y + 50
  End While

जब यह चलता है तो आपके पास नियंत्रण के दो स्तंभ होंगे, प्रत्येक विषय के लिए एक। लेकिन यह कोड जटिल है, और आपको अपने फॉर्म का सारा लेआउट Something.Y = value के साथ करना होगा। और फिर Y = Y + 50 अंकगणित।

इसलिए ग्रिड नियंत्रण मौजूद हैं। वे इस तरह की चीजों का ख्याल रखते हैं।



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. डेटाबेस में html-स्वरूपित पाठ सहेजें

  2. नई तालिकाएँ बनाने के लिए .sql फ़ाइलों को कैसे निष्पादित करें

  3. PhpMyAdmin त्रुटियों को स्थापित करें

  4. CURDATE () को डिफ़ॉल्ट के रूप में उपयोग करते समय mysql में तालिका बनाएं विफल

  5. MySQL अद्यतन सीमा के साथ जुड़ें