Мне нужно создать программу, запрашивающую данные из базы данных mysql. (в полной программе он также должен иметь возможность создавать, изменять и удалять строки, но я уже застрял в показе). То, как я пошел на это, установил соединение с jdbc. Затем выполните запрос и поместите его в набор результатов. Затем с помощью оператора if, чтобы получить первую строку информации с помощью resultset.next и кучу методов parsestring и settext.Привязка Actionlistener (button) к Resultset.next
Следующим шагом является следующая и предыдущая кнопка для прокрутки набора результатов и отображения информации.
Мой план состоял в том, чтобы поместить rs.next() в actionlistener и повторить все setTexts на текстовых полях с новыми строками, но я попытался использовать 100 разных способов, но я все равно получаю ошибки в одном направлении или другой.
Кто-то также предложил мне попробовать и установить actionlistener для добавления 1 к переменной. И затем добавив остальную часть кода в класс, где я могу назвать его методом, но я не знаю, как сделать такой метод.
Любая помощь была бы потрясающей. Я кодирую всего лишь несколько недель, и я чувствую, что у меня на голове. Поэтому, если есть какие-то другие вещи, которые я делаю неправильно, скажите мне. Приветствия
Кодекса
package duo.opdracht.info.pagina;
import javax.swing.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.*;
public class DUOOpdrachtInfoPagina extends JFrame {
public static void main(String[] args) {
JFrame frame = new DUOOpdrachtInfoPagina();
frame.setSize(1000, 750);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Optredens");
frame.setContentPane(new Paneel());
frame.setVisible(true);
}
}
class Paneel extends JPanel {
private JButton volgendeKnop, vorigeKnop;
private JTextField bandArtiestVak, starttijdVak, eindtijdVak, podiumVak;
private JLabel bandArtiestLabel, starttijdLabel, eindtijdLabel, podiumLabel;
public Paneel() {
setLayout(null);
volgendeKnop = new JButton("Volgende");
volgendeKnop.addActionListener(new ButtonHandler());
vorigeKnop = new JButton("Vorige");
bandArtiestVak = new JTextField(20);
starttijdVak = new JTextField(20);
eindtijdVak = new JTextField(20);
podiumVak = new JTextField(20);
bandArtiestLabel = new JLabel("Artiest/Band: ");
starttijdLabel = new JLabel("Starttijd: ");
eindtijdLabel = new JLabel("Eindtijd: ");
podiumLabel = new JLabel("Podium: ");
volgendeKnop.setBounds(850, 600, 100, 25);
vorigeKnop.setBounds(50, 600, 100, 25);
bandArtiestVak.setBounds(200, 100, 300, 25);
starttijdVak.setBounds(200, 130, 300, 25);
eindtijdVak.setBounds(200, 160, 300, 25);
podiumVak.setBounds(200, 190, 300, 25);
bandArtiestLabel.setBounds(100, 100, 300, 25);
starttijdLabel.setBounds(100, 130, 300, 25);
eindtijdLabel.setBounds(100, 160, 300, 25);
podiumLabel.setBounds(100, 190, 300, 25);
bandArtiestVak.setEditable(false);
starttijdVak.setEditable(false);
eindtijdVak.setEditable(false);
podiumVak.setEditable(false);
add(volgendeKnop);
add(vorigeKnop);
add(bandArtiestVak);
add(starttijdVak);
add(eindtijdVak);
add(podiumVak);
add(bandArtiestLabel);
add(starttijdLabel);
add(eindtijdLabel);
add(podiumLabel);
// create our mysql database connection
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/DUO_1", "duo1", "duo1");
Statement stmt = null;
String query
= "SELECT BandArtiestNaam, Starttijd, Eindtijd, Podiumnaam FROM optreden";
stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery(query);
if (rs.next()) {
String naam = rs.getString(1);
String stijd = rs.getString(2);
String etijd = rs.getString(3);
String pnaam = rs.getString(4);
bandArtiestVak.setText(naam);
starttijdVak.setText(stijd);
eindtijdVak.setText(etijd);
podiumVak.setText(pnaam);
}
} catch (SQLException e) {
System.out.println(e);
}
}
class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
}
}
}
* «Любая помощь вообще будет потрясающей». * Как и в конкретном вопросе .. –
@AndrewThompson Да, Извините, может быть, я должен был сформулировать это по-другому. Я добавил это предложение, чтобы указать, что даже малейший намек, подсказка, трюк или источник для изучения будут полезны, поэтому люди не чувствуют необходимости писать всю программу для меня. Мне просто нужно какое-то общее направление. –