displayemployee.java

来自「主要是对于JAVA的编程的基本语言 希望能够帮得上你。」· Java 代码 · 共 95 行

JAVA
95
字号
package database;
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 DisplayEmployee extends JFrame{	
	
	//定义记录向量和表头向量	
	Vector rows=new Vector();
	Vector columnHead=new Vector();
	
	//定义数据库变量
	Connection con;
	Statement stmt;
	ResultSet rs;
	ResultSetMetaData rsmd;
	
	//定义表名字
	static String strTableName="Customers";	
	
	public static void main(String[] args) {		
		new DisplayEmployee();		
	}
	
	public DisplayEmployee(){
		super(strTableName);		
		
		this.setSize(600,500);
		this.setLocationRelativeTo(null); //让窗口在屏幕居中
		
		try {
			//加载驱动程序
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			//连接数据库
			con=DriverManager.getConnection("jdbc:odbc:Northwind");
			//定义语句
			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 + =
减小字号Ctrl + -
显示快捷键?