java - 如何从 SQL 数据库读取记录并将其显示到 JFrame 上?

标签 java mysql sql

我已经尝试解决这个问题有一段时间了,但我仍然不知道如何解决,所以我希望你们中的一些人可以帮助我:)

这是我的连接代码:

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 类中,没有代码,唯一的就是设计,我正在尝试从另一个类插入该表

最佳答案

您不需要为选择查询准备语句,仅用于插入查询,而是需要一条创建语句。另外 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);
  }            
}

关于java - 如何从 SQL 数据库读取记录并将其显示到 JFrame 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51122075/

相关文章:

python - 无法将CSV文件数据导入mysql表

sql - Impala:LIKE无法捕获CONCAT输出

sql - Phantom LONG 数据类型导致我的 SQL 代码崩溃 - ORA-00997

java - 在 root 的 Android (Jelly Bean) 中拦截来电

java - InputStreamReader 的 readln 不起作用

java - Java 的开源调查/问卷引擎

SQL 或运算符

java - 使用远程 'chromedriver.exe' 文件设置 Chrome WebDriver

php - 插入MySQL数据库

sql - 在 SAP 中保存 SQL 查询