在jtable中显示数据库信息
1://一.新建一表格视图(MVC的View)
JTable JTableView = new JTable();
2://二.新建一表格模板(MVC的Model)
DefaultTableModel JTableModel = new DefaultTableModel();
3://三.新建createTableModel()方法
private void createTableModel() {
// JTableModel.setColumnCount(0); //清空表格模板内所有的列
// JTableModel.setRowCount(0); //清空表格模板内所有的行
// 在表格模板中加入列(加标题)
JTableModel.addColumn("学号");
JTableModel.addColumn("姓名");
JTableModel.addColumn("性别");
JTableModel.addColumn("成绩");
4: //四.在初始化组件的方法中调用createTableModel()方法
createTableModel();
5: //五.在表格视图中设置要应用的表格模板
JTableView.setModel(JTableModel);
6: // 连接数据库第1种方法,直接写代码
//1.加载驱动程序
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("驱动程序加载失败!");
}
try {
//2.建立数据库连接
Connection con = DriverManager.getConnection("jdbc:odbc:Lesson12");
//3.建立Statement语句执行对象
Statement st = con.createStatement();
//4.建立ResultSet结果集,执行SQL命令
ResultSet rs = st.executeQuery("select * from StuScore");
// Vector vcRows = new Vector(); //error 每行显示的都是第一条记录
//在表格模板中加入行(将表内记录通过循环一行行添加到表格模板中去)
while (rs.next())
{
Vector vcRows = new Vector();
vcRows.addElement(rs.getInt(1));
vcRows.addElement(rs.getString(2));
vcRows.addElement(rs.getString(3));
vcRows.addElement(rs.getFloat(4));
// JTableModel.addRow(rs.getInt(1)); //error
// JTableModel.addRow(rs.getString(2)); //error
JTableModel.addRow(vcRows); //添加一行记录到表格模板中
}
//5.关闭连接
rs.close();
st.close();
con.close();
// DBConnection.closeStmtAndCon(); //关闭相关连接
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("数据库连接失败!");
}