Я пытался понять это на некоторое время, и я до сих пор не знаю, как я так надеялся, что некоторые из вас, ребята, могут мне помочь :)
Здесь мой код для подключения:
public class Conn {
private Connection conn = null;
public Connection getConn() throws ClassNotFoundException {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/bloodbank","root","");
} catch(SQLException e) {
System.out.println(e);
}
return conn;
}
}
И вот мой код для чтения и попытки его отображения:
public void read() throws ClassNotFoundException, SQLException {
readForm r = new readForm();
PreparedStatement st;
Connection con = getConn();
ResultSet rs;
String query = "SELECT * FROM patients";
try {
st = con.prepareStatement(query);
rs = st.executeQuery();
DefaultTableModel tm = (DefaultTableModel)r.table.getModel();
tm.setRowCount(0);
Object row[] = new Object[5];
for(Patients u : list){
row[0] = u.getId();
row[1] = u.getfName();
row[2] = u.getlName();
row[3] = u.getGender();
row[4] = u.getAge();
tm.addRow(row);
}
r.setVisible(true);
} catch (SQLException e) {
System.out.println(e);
}
}
В моем классе readForm нет кода, единственное, что есть в дизайне, и я пытаюсь вставить в эту таблицу из другого класса
Для команды select вам нужно выражение и ResultSet, например:
try {
st=conn.createStatement();
String qry="select * from current_login";
rst=st.executeQuery(qry);
if(rst.next()) {
u_name=rst.getString("username");
password=rst.getString("password");
}
String qry1="select * from sign_up where username='"+u_name+"' and password= '"+password+"'";
rst1=st.executeQuery(qry1);
if(rst1.next()) {
name=rst1.getString("name");
cat=rst1.getString("game_category");
}
остальная часть вашего кода верна.
Вам не нужен подготовленный оператор для выбора запроса, только для запросов вставки, но для оператора create. Также rs - это набор результатов, который не включен в цикл for, вместо этого вы используете экземпляр списка, который не инициализирован.
public void read() throws ClassNotFoundException, SQLException {
Connection con = getConn();
ResultSet rs;
String query = "SELECT * FROM patients";
try {
stmt = con.createStatement();
rs = stmt.executeQuery(query);
DefaultTableModel tm = (DefaultTableModel)r.table.getModel();
tm.setRowCount(0);
String[] values = new String[5];
//give data of the table line by line, replace tbl column with your column names
while(rs.next()) {
values[0] = rs.getString("tbl_column");
values[1] = rs.getString("tbl_column");
values[2] = rs.getString("tbl_column");
values[3] = rs.getString("tbl_column");
values[4] = rs.getString("tbl_column");
tm.addRow(values);
}
r.setVisible(true);
} catch (SQLException e) {
System.out.println(e);
}
}