【发布时间】:2014-09-23 07:00:54
【问题描述】:
我正在为我的 12 年级 IT 课程做一个实用的评估任务。我正在努力使用代码在我的 GUI 中填充我的 jTable(来自 swing 控件)。我正在使用 Netbeans 作为 IDE。数据库使用 jdbc:odbc 网桥连接。这段代码在我项目的一个 java 类中。
**请注意,我在编码方面相对缺乏经验
这是我目前拥有的代码(但它在我的 jtable 中没有输出) 如果你能解决它,请解释你做了什么,或者如果你可以请给我代码,这将是可行的:)
db.setConnection();
Statement stmt = null;
try {
con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)}"
+ ";DBQ=src/TheChangeProjectDB.accdb");
stmt = con.createStatement();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Error: " + ex);
}
String sql = "SELECT * FROM KanyisaLearners";
try {
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
for (int i = 1; i <= columns; i++) {
columnNames.addElement(md.getColumnName(i));
}
while (rs.next()) {
Vector row = new Vector(columns);
for (int i = 0; i <= columns; i++) {
row.addElement(rs.getObject(i));
}
data.addElement(row);
}
rs.close();
stmt.close();
} catch (Exception e) {
System.out.println(e);
}
JTable table = new JTable(data, columnNames);
JScrollPane scrollPane = new JScrollPane(table);
getContentPane().add(scrollPane);
JPanel buttonPanel = new JPanel();
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
KanyisaHoofskerm frame = new KanyisaHoofskerm();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.pack();
frame.setTitle("Learners");
frame.setVisible(true);
【问题讨论】:
-
您的代码有什么问题?您必须获取表模型并向其中添加数据并将模型设置回表
-
我真的不知道到底出了什么问题。我自己没有编写代码;我从互联网上获得了这段代码并对其进行了修改。我得到的错误是:“java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid descriptor index”但 Jtable 上根本没有输出
标签: java swing ms-access jdbc jtable