phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Wybierz i wyświetl wszystkie wiersze należące do określonego ID

Kiedy czytasz wynik zapytania, używasz pętli, jak wiesz.

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

While pętla działa, dopóki nie przeczytasz wszystkich wierszy.

Nie musisz używać pętli. Jeśli chcesz, możesz czytać wiersze pojedynczo, w ten sposób

 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 twojego pytania domyślam się, że masz Textbox1 , Textbox2 , ... Textbox5 w formularzu. Domyślam się też, że masz Grade1 , Grade2 ....

Aby obsłużyć zarówno nazwę przedmiotu, jak i ocenę, zmień pierwszy wiersz zapytania na

   sql = "SELECT subject_name, grade " & _

Możesz wypełnić te elementy w ten sposób:

 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.

To rozwiązuje twój problem. Ale prawdopodobnie zauważyłeś, że jest to absurdalnie powtarzalne. To, czego naprawdę potrzebujesz, to tablica (właściwie dwie tablice) pól tekstowych. Tworzysz, a następnie wypełniasz te pola tekstowe w swoim programie. Nie debugowałem tego:musisz to zrobić.

  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

Po uruchomieniu będziesz mieć dwie kolumny kontroli, po jednej dla każdego przedmiotu. Ale ten kod jest złożony i musisz wykonać cały układ swojego formularza za pomocą Something.Y = value a następnie Y = Y + 50 arytmetyka.

Dlatego istnieje kontrola sieci. Dbają o tego typu rzeczy.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Prosta modyfikacja motywu OpenCart

  2. Nie można uzyskać dostępu do MySQL przez XAMPP i phpMyAdmin

  3. Czy istnieje sposób na przeglądanie poprzednich zapytań mysql za pomocą phpmyadmina?

  4. Usuwanie duplikatów adresu e-mail na podstawie najniższego identyfikatora w mysql

  5. nie można wylogować się z phpmyadmina w XAMPP