⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java_4_1.java

📁 企业职工信息管理
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
class RSTable extends AbstractTableModel {
	  private Connection con;
	  public Statement st;
	  public ResultSet rs;
	  private ResultSetMetaData rsmd;
	  private int numberOfRows;
	  private String user="sa",pass="457815",
 	  qs = "SELECT * FROM Stuffinfo";
 public RSTable(String query) throws SQLException,ClassNotFoundException
 {
	  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	  con = DriverManager.getConnection("jdbc:odbc:PIMS","sa","457815");
  	  st = con.createStatement(
	  ResultSet.TYPE_SCROLL_INSENSITIVE,
	  ResultSet.CONCUR_UPDATABLE);
          // 设置结果集为可滚动并且是可以更新
   	  setQuery(query);
 }
 public Class getColumnClass(int column)
{
	try {            // 获得结果集列的类名
	String className =rsmd.getColumnClassName(column+1);
  	return Class.forName( className );
 	}catch ( Exception e ) {
  		System.out.println(e);
 	} 
 	return Object.class;
}
public int getColumnCount(){ 
  	try {
   		return rsmd.getColumnCount();// 获得结果集的列数
  	}catch ( SQLException se ){
   		System.out.println(se);
  	}
  	return 0;       // 出错时返回0列
}
public String getColumnName( int column ){
  	try {
    		return rsmd.getColumnName( column + 1 );
      		 // 获得结果集的列名
  	}catch ( SQLException se ) {
   		 System.out.println(se);
  	}
  	return "";   // 出错时返回空字符串
}
public int getRowCount(){ 
   	return numberOfRows;  // 获得结果集的行数
} // 获得结果集指定行列处的数据
public Object getValueAt( int row, int column ){ 
  	try {
   		 rs.absolute( row + 1 );
    		 return rs.getObject( column + 1 );
  	}catch (SQLException se) {
    		 System.out.println(se);
  	}
  	return "";
}
protected void finalize(){
  // 在对象撤销时自动调用来关闭数据库连接等
  	try {
    		rs.close(); st.close(); con.close();
  	}catch ( SQLException se ){
    		System.out.println(se);
  	}
}
public void setQuery( String query ) throws  SQLException{
	rs=st.executeQuery(query);//执行查询,返回结果集
  	rsmd = rs.getMetaData();  // 获得结果集的元数据
  	rs.last();          // 移动数据表指针到最后一行
  	numberOfRows = rs.getRow();// 获得最后一行的行号
  	fireTableStructureChanged();// 更新查询显示
  }
}


public class Java_4_1 extends JFrame implements ActionListener{
 	private RSTable table;
 	private JTextArea jta;
 	String ss,s,s2;
 	public Java_4_1(){   
 	super( "JdbcGUI应用程序:显示数据库查询结果" );
   	// 设置窗口标题
 	String qs = "select * from Stuffinfo where sno='001'";
   	// 设置初始显示的SQL语句
 	try {
  		table = new RSTable(qs );   // 创建RSTable对象
  		jta = new JTextArea( qs, 2, 100 );//设置文本区
  		jta.setWrapStyleWord( true ); // 设置换行属性
		jta.setLineWrap( true );         // 设置文本区换行属性
		jta.setFont(new Font("宋体",Font.PLAIN,13));//设置字体
		JScrollPane scrollPane = new JScrollPane(jta,
  		ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, 
  		ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER );
   		// 设置滚动面板
		JLabel jl= new JLabel("<Html><Font color=red>输入SQL语句:");
		JButton jb = new JButton("查询");
		JButton jb1 = new JButton("修改");
		JButton jb2 = new JButton("删除");
		JButton jb3 = new JButton("插入");
		JPanel jp=new JPanel();        // 创建面板对象
		jp.setLayout(new GridLayout(3,2));
  		 // 设置面板的布局为BorderLayout
		jp.add(jl);  // 添加到面板

		jp.add(scrollPane);
    		// 添加到面板
		jp.add(jb);    // 添加到面板
		jp.add(jb1);
		jp.add(jb2);
		jp.add(jb3);
		
		
		
		JTable resultTable = new JTable(table);
		resultTable.getTableHeader().setBackground(Color.blue);    //设置表格标题背景色为蓝色
		resultTable.getTableHeader().setForeground(Color.orange);  //设置表格标题前景色为橙色
		getContentPane().add( jp, BorderLayout.NORTH );
     		// 添加面板到窗体
		getContentPane().add( new JScrollPane(resultTable), 
   		BorderLayout.CENTER ); 
      		// 添加表格到窗体
		jb.addActionListener(this); // 注册动作监听器
		jb1.addActionListener(this);
		jb2.addActionListener(this);
		jb3.addActionListener(this);
		jb.setActionCommand("查询");
		jb1.setActionCommand("修改");
		jb2.setActionCommand("删除");
		jb3.setActionCommand("插入");
		
  	}catch ( ClassNotFoundException e) {
   		JOptionPane.showMessageDialog( null,"数据库驱动程序未找到!","驱动程序未找到",JOptionPane.ERROR_MESSAGE );
    		System.exit(1);   // 终止应用程序
  	}catch (SQLException e) {
  		JOptionPane.showMessageDialog( null, "数据库错误!","数据库错误",JOptionPane.ERROR_MESSAGE );
    		System.exit(1);   // 终止应用程序
  	}
 	}
public void actionPerformed( ActionEvent e ){
	
  	try {
  		String cmd =e.getActionCommand();
		if (cmd.equals("查询"))
			table.setQuery("select * from Stuffinfo");
		if (cmd.equals("修改"))
		{
			ss=JOptionPane.showInputDialog("请输入你要修改的员工的员工号码:");
			s=JOptionPane.showInputDialog("请选择该员工的所属部门:\n  1.人事部\n  2.营销部\n  3.企划部\n  4.退出");
			if(s.equals("1"))
				s="人事部";
			else if(s.equals("2"))
					s="营销部";
			else if(s.equals("3"))
						s="企划部";
			else if(s.equals("4"))
							s="";
			jta.setText("update Stuffinfo set sdepart= '"+s+"'where sno='"+ss+"'");			
			table.st.executeUpdate(jta.getText());
			table.setQuery("select * from Stuffinfo");
		}
			
		if (cmd.equals("删除"))
		{
			ss=JOptionPane.showInputDialog("请输入你要删除的员工的员工号码:");			
			jta.setText("delete from Stuffinfo where sno="+"'"+ss+"'");			
			table.st.executeUpdate(jta.getText());
			table.setQuery("select * from Stuffinfo");
		}
		if (cmd.equals("插入")){
			ss="insert into Stuffinfo(Sno,Sname,Ssex,sage,Sreword,sdepart)values('";
			s2=JOptionPane.showInputDialog("请输入你要新员工的员工号码:");
			s2+="','";
			ss+=s2;
			s2=JOptionPane.showInputDialog("请输入你要新员工的姓名:");
			s2+="','";
			ss+=s2;
			s2=JOptionPane.showInputDialog("请输入你要新员工的性别:");
			s2+="','";
			ss+=s2;
			s2=JOptionPane.showInputDialog("请输入你要新员工的年龄:");
			s2+="','";
			ss+=s2;
			s2=JOptionPane.showInputDialog("请输入你要新员工的月薪:");
			s2+="','";
			ss+=s2;
			s=JOptionPane.showInputDialog("请选择该员工的所属部门:\n  1.人事部\n  2.营销部\n  3.企划部\n  4.退出");
			if(s.equals("1"))
				s="人事部";
			else if(s.equals("2"))
					s="营销部";
			else if(s.equals("3"))
						s="企划部";
			else if(s.equals("4"))
							s="";
			s+="')";
			ss+=s;
			jta.setText(ss);
			table.st.executeUpdate(jta.getText());
			table.setQuery("select * from Stuffinfo ");
		}
			
    		 // 将输入在文本区中SQL语句作查询
	}
	catch (SQLException se) {//显示出错信息
 		JOptionPane.showMessageDialog( null, se.toString(), 
    		"数据库错误",JOptionPane.ERROR_MESSAGE );
  	}
 }
 public static void main(String args[]){
	 Java_4_1 app = new Java_4_1();
  		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  		app.setSize( 680, 250 );   // 设置初始窗口大小
  		app.setVisible( true );
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -