sql >> Databáze >  >> Database Tools >> phpMyAdmin

Vyberte a zobrazte všechny řádky patřící konkrétnímu ID

Když čtete sadu výsledků dotazu, používáte smyčku, jak víte.

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

While smyčka pokračuje, dokud nepřečtete všechny řádky.

Nemusíte používat smyčku. Pokud chcete, můžete číst řádky jeden po druhém, jako je tento

 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
 ...

Z vaší otázky předpokládám, že máte Textbox1 , Textbox2 , ... Textbox5 na vašem formuláři. Také předpokládám, že máte Grade1 , Grade2 ....

Chcete-li zpracovat název předmětu i hodnocení, změňte první řádek dotazu na

   sql = "SELECT subject_name, grade " & _

Tyto položky můžete naplnit takto:

 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.

Tím je váš problém vyřešen. Ale pravděpodobně si všimnete, že se to absurdně opakuje. To, co opravdu potřebujete, je pole (ve skutečnosti dvě pole) textových polí. Tyto texboxy vytvoříte a poté vyplníte ve svém programu. Toto jsem neladil:to musíte udělat vy.

  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

Když to běží, budete mít dva sloupce ovládacích prvků, jeden pro každý předmět. Tento kód je však složitý a musíte provést veškeré rozvržení formuláře pomocí Something.Y = value a poté Y = Y + 50 aritmetický.

Proto existují ovládací prvky sítě. Postarají se o takové věci.



  1. změnit výchozí řazení v phpmyadmin

  2. jak vybrat 5 nejnovějších řádek z mého mysql

  3. Jak mohu upravit pohled pomocí phpMyAdmin 3.2.4?

  4. Docker:PhpMyAdmin má limit nahrávání 2048 kB