私はデータベースからデータを取得してJTableに表示するJComboBoxを持っています。異なるデータベースのデータがJTableに結合されていることを除いて、すべてがうまく機能します。特定のデータベースのデータのみをどのように表示することができますか?ありがとう!JTable内の別のデータベースの他のデータを追加しないで、データベースからデータを表示する方法?
以下は私が使用したコードです。
private void comBoxActionPerformed(java.awt.event.ActionEvent evt)
{
if (comBox.getSelectedItem() == "Select . . .") {
} else if (comBox.getSelectedItem() == "Students") {
DefaultTableModel model = (DefaultTableModel) dataTable.getModel();
String sql = "select * from students";
try {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(tests.class.getName()).log(Level.SEVERE, null, ex);
}
Connection connect = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/datavisibility","root","");
Statement statmnt = connect.createStatement();
ResultSet rslt = statmnt.executeQuery(sql);
while(rslt.next()){
String id = rslt.getString("ID");
String name = rslt.getString("Name");
String surname = rslt.getString("Surname");
String age = rslt.getString("Age");
model.addRow(new Object[]{id,name,surname,age});
}
} catch(SQLException e){
e.printStackTrace();
}
} else if (comBox.getSelectedItem() == "Teachers"){
DefaultTableModel model = (DefaultTableModel) dataTable.getModel();
String sql = "select * from teachers";
try {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(tests.class.getName()).log(Level.SEVERE, null, ex);
}
Connection connect = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/datavisibility","root","");
Statement statmnt = connect.createStatement();
ResultSet rslt = statmnt.executeQuery(sql);
while(rslt.next()){
String id = rslt.getString("ID");
String name = rslt.getString("Name");
String surname = rslt.getString("Surname");
String age = rslt.getString("Age");
model.addRow(new Object[]{id,name,surname,age});
}
} catch(SQLException e){
e.printStackTrace();
}
} else if (comBox.getSelectedItem() == "Directors") {
DefaultTableModel model = (DefaultTableModel) dataTable.getModel();
String sql = "select * from directors";
try {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(tests.class.getName()).log(Level.SEVERE, null, ex);
}
Connection connect = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/datavisibility","root","");
Statement statmnt = connect.createStatement();
ResultSet rslt = statmnt.executeQuery(sql);
while(rslt.next()){
String id = rslt.getString("ID");
String name = rslt.getString("Name");
String surname = rslt.getString("Surname");
String age = rslt.getString("Age");
model.addRow(new Object[]{id,name,surname,age});
}
} catch(SQLException e){
e.printStackTrace();
}
}
} `
これはプログラムのoutputです。
私は入力を感謝します。ありがとう!