Следующая кнопка Java MySQL

#java #mysql #arraylist #next #listiterator

#java #mysql #список массивов #Далее #listiterator

Вопрос:

Мне нужно отображать строки моей базы данных MySQL одну за другой, используя кнопку next в java. Но мне трудно это сделать.

Ниже приведены мои текущие коды. Я знаю, что Arraylist и ListIterator должны быть разделены, но я не знаю, куда их поместить, потому что они также нужны мне в моем результирующем наборе.

 JButton btnSubmit = new JButton("Next");
    btnSubmit.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) { 


             try{
                    Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/anonymization", "root", "password");
                    Statement statement = connect.createStatement();
                    String examNames = textExamName.getText();
                    int examNumber = Integer.parseInt(textNumber.getText());                    
                    String selectTable = "Select number, content, choiceA, choiceB, choiceC, choiceD, correctans, * FROM "  examNames "";               
                    ResultSet examresults = statement.executeQuery("Select * FROM "  examNames "");             

                while(examresults.next()){
                    ArrayList numbers = new ArrayList();
                    ArrayList contents = new ArrayList();
                    ArrayList A = new ArrayList();
                    ArrayList B = new ArrayList();
                    ArrayList C = new ArrayList();
                    ArrayList D = new ArrayList();
                    ArrayList ans = new ArrayList();
                    ListIterator numberIterator = numbers.listIterator();   
                    ListIterator  contentIterator = contents.listIterator();
                    ListIterator  AIterator = A.listIterator();
                    ListIterator  BIterator = B.listIterator();
                    ListIterator  CIterator = C.listIterator();
                    ListIterator  DIterator = D.listIterator();     

                    numbers.add(examresults.getInt("number"));
                    contents.add(examresults.getString("content"));
                    A.add(examresults.getString("choiceA"));
                    B.add(examresults.getString("choiceB"));
                    C.add(examresults.getString("choiceC"));
                    D.add(examresults.getString("choiceD"));
                    ans.add(examresults.getString("correctans"));


            if (numberIterator.hasNext() amp;amp; contentIterator.hasNext() amp;amp; AIterator.hasNext() amp;amp; BIterator.hasNext() 
                                amp;amp; CIterator.hasNext() amp;amp; DIterator.hasNext()) {                     
                            textAreaQuestion.setText(contentIterator.next().toString());
                          }
                }
  

Комментарии:

1. Вы намерены запускать SQL-запрос при каждом нажатии кнопки или планируете реализовать какую-то разбивку на страницы?

2. Возможно, SQL-запрос может выполняться только один раз. Моя основная цель — отобразить столбцы моей базы данных в моих текстовых полях и перейти к следующей строке с помощью кнопки next.

3. Если ваш результирующий набор относительно невелик, то вам следует выполнять запрос где-то в другом месте. Просто выполните итерацию по коллекциям в приведенном выше методе.

4. Не могли бы вы сделать код руководства для меня, чтобы следовать?