Я делаю приложение с помощью JavaFX, Scene Builder и SQLite.Для управления базой данных SQLite я использую DB Browser
У меня есть 3 поля в SQLite: ID, вопрос, ответ
Когда я нажимаю кнопку «Добавить», вызывается метод и отправляется текст сtextaria с вкладкой «вопрос-вопрос» в SQLite и текст из textaria с ответом делают то же самое.
Идентификатор - это число, которое автоматически добавляется при добавлении этих полей в SQLite
Я успешно отправил данные из моегоокно, но я не понимаю, как получить данные из SQlite и установить его для метки и комбинированного списка в моем окне
QuestController:
package card;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import java.net.URL;
import java.sql.*;
import java.util.ResourceBundle;
public class QuestController implements Initializable {
@FXML private TextArea ta_questText, ta_answerText;
@FXML private Label lb_numberQuest;
@FXML
private ComboBox<?> idQuest;
@Override
public void initialize(URL location, ResourceBundle resources) {
//register QuestController in Context Class
Context.getInstance().setQuestController(this);
}
@FXML
void addCard(ActionEvent event) {
PreparedStatement preparedStatement;
ResultSet resultSet;
String query = "select * from Cards where ID = ? and question = ? and
answer = ?";
Connection connection = DbConnection.getInstance().getConnection();
try {
String question = ta_questText.getText();
String answer = ta_answerText.getText();
Statement statement = connection.createStatement();
int status = statement.executeUpdate("insert into Cards (question,
answer) values ('"+question+"','"+answer+"')");
if (status > 0) {
System.out.println("question registered");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
DbСоединение класса:
package card;
import org.sqlite.SQLiteConnection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DbConnection {
private DbConnection() {
}
public static DbConnection getInstance() {
return new DbConnection();
}
public Connection getConnection() {
String connect_string = "jdbc:sqlite:database.db";
Connection connection = null;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:database.db");
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return connection;
}
}
Как я могуполучить все существующие идентификаторы (номера) из SQLite и поместить их в выпадающий список?
Как выбрать номер (идентификатор) и применить номер к метке?
если я выберу любое число из выпадающего списка
Как применить текст с вопросом и ответом из SQLite, подключенного кЧто такое текстовые номера в моем окне?