【发布时间】:2023-03-12 09:18:01
【问题描述】:
我正在尝试从 SQL srv 加载 JTable 中的数据。我在尝试转换 ArrayList 并将其加载到 JTable 时遇到了麻烦。 当我尝试应该显示列表的表格下方的代码显示“[L].java.lang.String@bf053f”
private void searchCourseGrades() {
StudentsWithGradeTable.setModel(dtmCoursesGrades);
String ccode = SearchCidTextfield.getText();
try {
dtmCoursesGrades.setDataVector(
controller.findAllStudentsFromStudied(ccode),
coursesGradesColumns);
if (ccode.equals("")) {
JOptionPane.showMessageDialog(this,
"Please enter a Course Code");
} else {
dtmCoursesGrades.setRowCount(0);
dtmCoursesGrades.fireTableDataChanged();
Studied findStudentFromStudied = null;
findStudentFromStudied = controller
.findCourseFromStudied(ccode);
String[] crsgr = new String[2];
for (int i = 0; i < crsgr.length; i++) {
crsgr[0] = findStudentFromStudied.getSpnr();
crsgr[1] = findStudentFromStudied.getGrade();
dtmCoursesGrades.addRow(new Object []{crsgr});
dtmCoursesGrades.fireTableDataChanged();
}
}
} catch (SQLException exception) {
JOptionPane.showMessageDialog(this,
"Cannot find a course with Course Code " + ccode
+ ". Please try a new number.");
}
}
MainForm 引用的控制器如下所示:
private String[][] finishedArrayList(ArrayList<Studied> finished) {
String[][] finishedStudents = new String[finished.size()][3];
for (int i = 0; i < finished.size(); i++) {
Studied finish = finished.get(i);
finishedStudents[i][0] = finish.getSpnr();
finishedStudents[i][1] = finish.getCcode();
finishedStudents[i][2] = finish.getGrade();
}
return finishedStudents;
}
public String[][] findAllStudentsFromStudied(String ccode)
throws SQLException {
return finishedArrayList(dal.findAllStudentsFromStudied(ccode));
控制器引用的 DAL 如下所示:
public ArrayList<Studies> findAllStudentsFromStudies(String ccode)
throws SQLException {
ArrayList<Studies> stlist = new ArrayList<Studies>();
Statement stmt = con.createStatement();
String sqlStr = "SELECT * FROM Studies WHERE ccode = '" + ccode + "'";
ResultSet rs = stmt.executeQuery(sqlStr);
while (rs.next()) {
Studies st = new Studies();
st.setSpnr(rs.getString(1));
stlist.add(st);
}
rs.close();
stmt.close();
return stlist;
}
【问题讨论】:
-
那会是什么麻烦?如果有异常,请给我们stacktrace,以便其他人详细描述发生了什么或没有发生什么。
-
请将您的问题归结为 ArrayList jTable 部分。不需要数据库查询,因为它们与您的问题无关。
标签: java sql swing arraylist jtable