📄 displaystudent.java
字号:
package database;
/**
* Title: 加载JDBC-ODBC数据库驱动程序、连接student.mdb数据库、通过SQL语句操作数据库返回结果集并显示在表格中
* Description: Java语言演示程序:加载Access数据库驱动程序、连接student.mdb数据库、通过SQL语句操作数据库返回结果集并显示,用于泸州职业技术学院电信系Java课程教学示范。
* Copyright: Copyright (c) 2007
* Company: 泸州职业技术学院电信系
* @author 华卫
* @version 1.0
*/
import java.sql.*;
import java.util.Vector;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class DisplayStudent extends JFrame{
//定义记录向量和表头向量
Vector rows=new Vector();
Vector columnHead=new Vector();
//定义屏幕宽度和高度
int screenWidth=(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int screenHeight=(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
//定义数据库变量
Connection con;
Statement stmt;
ResultSet rs;
ResultSetMetaData rsmd;
//定义表名字
static String strTableName="studentbase";
static String strTableTitle="学生基本情况表";
// static String strTableName="studentaddress";
// static String strTableTitle="学生通信录";
//
// static String strTableName="studentclass";
// static String strTableTitle="学生选课表";
public static void main(String[] args) {
new DisplayStudent();
}
public DisplayStudent(){
super(strTableTitle);
setSize(400,200);
setLocation((screenWidth-getWidth())/2, (screenHeight-getHeight())/2); //让窗口在屏幕居中
setVisible(true);
try {
//加载驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//连接数据库
con=DriverManager.getConnection("jdbc:odbc:student","student","123456");
//定义语句
stmt=con.createStatement();
//执行SQL语句,返回结果到rs
rs=stmt.executeQuery("select * from "+strTableName);
//获取字段信息
rsmd=rs.getMetaData();
//获得字段名称填充表头向量columnHead
for(int i=1; i<=rsmd.getColumnCount();++i){
columnHead.addElement(rsmd.getColumnName(i));
}
//获得表内容填充记录向量rows(每一行是一个向量,多行就是向量组)
while(rs.next()){
Vector currentRow=new Vector();
//获得当前记录内容
for(int i=1; i<=rsmd.getColumnCount();++i){
currentRow.addElement(rs.getString(i));
}
rows.addElement(currentRow); //创建记录集
}
if(rows.isEmpty()){
// 如果没有记录,则显示一条消息
JOptionPane.showMessageDialog(this,"结果集中无记录!","错误提示",JOptionPane.WARNING_MESSAGE);
}
//创建表格
JTable table=new JTable(rows,columnHead);
JScrollPane scroller=new JScrollPane(table);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(scroller);
//显示窗口
setVisible(true);
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, e.getMessage(),"错误提示",JOptionPane.ERROR_MESSAGE);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage(),"错误提示",JOptionPane.ERROR_MESSAGE);
}
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
try {
//关闭连接
rs.close();
stmt.close();
con.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(),"错误提示",JOptionPane.ERROR_MESSAGE);
}
System.exit(0);
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -