📄 database.java
字号:
package welcome;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JLabel;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.*;
import java.sql.*;
import javax.swing.table.*;
import javax.swing.JOptionPane.*;
import javax.swing.event.*;
import java.util.*;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Database
extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuFile = new JMenu();
JMenuItem jMenuFileExit = new JMenuItem();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
JLabel statusBar = new JLabel();
JSplitPane jSplitPane1 = new JSplitPane();
JPanel jPanel1 = new JPanel();
JTable jTable1;
DefaultTableModel model;
JLabel jLabel1 = new JLabel();
JComboBox jComboBox1 = new JComboBox();
JTextField jTextField1 = new JTextField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
JButton jButton6 = new JButton();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JScrollPane jScrollPane1=new JScrollPane();
JScrollPane jScrollPane2=new JScrollPane();
Statement stmt;
Connection con;
ResultSet rs;
public Database() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
}
catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setBounds(300,300,410, 360);
setTitle("人事管理系统");
statusBar.setText(" ");
statusBar.setBounds(new Rectangle(0, 284, 400, 16));
jMenuFile.setText(" 文件");
jMenuFileExit.setText("退出");
model=new DefaultTableModel(new Object[][]{},
new Object[] {"姓名","性别","年龄","电话","地址","备注"})
{
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
jTable1=new JTable(model);
jMenuFileExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
jMenuFileExit_actionPerformed(actionEvent);
}
});
jMenuHelp.setText("帮助");
jMenuHelpAbout.setText("关于本程序");
jMenuHelpAbout.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
jMenuHelpAbout_actionPerformed(actionEvent);
}
});
jSplitPane1.setBorder(BorderFactory.createLineBorder(Color.black));
jSplitPane1.setBounds(new Rectangle(4, 3, 393, 277));
jPanel1.setLayout(null);
jLabel1.setText("搜索项");
jLabel1.setBounds(new Rectangle(4, 3, 54, 26));
jComboBox1.setBounds(new Rectangle(4, 30, 80, 25));
jComboBox1.addItem("姓名");
jComboBox1.addItem("性别");
jComboBox1.addItem("年龄");
jComboBox1.addItem("电话");
jComboBox1.addItem("地址");
jComboBox1.addItem("备注");
jTextField1.setBounds(new Rectangle(4, 61, 80, 25));
jButton1.setBounds(new Rectangle(3, 92, 80, 29));
jButton1.setText("搜 索");
jButton1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jButton1_actionPerformed(e);
}
});
jButton3.setBounds(new Rectangle(3, 125, 80, 30));
jButton3.setToolTipText("");
jButton3.setText("显 示");
jButton3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jButton3_actionPerformed(e);
}
});
jButton4.setBounds(new Rectangle(4, 159, 80, 30));
jButton4.setText("增 加");
jButton4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jButton4_actionPerformed(e);
}
});
jButton5.setBounds(new Rectangle(5, 195, 80, 29));
jButton5.setText("删 除");
jButton5.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jButton5_actionPerformed(e);
}
});
jButton6.setBounds(new Rectangle(6, 228, 80, 29));
jButton6.setText("修 改");
jButton6.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jButton6_actionPerformed(e);
}
});
jMenuItem1.setText("打开");
jMenuFileExit.setText("退出");
jMenuItem2.setText("保存");
jMenuBar1.add(jMenuFile);
jMenuFile.add(jMenuItem1);
jMenuFile.add(jMenuItem2);
jMenuFile.add(jMenuFileExit);
jMenuBar1.add(jMenuHelp);
jMenuHelp.add(jMenuHelpAbout);
setJMenuBar(jMenuBar1);
contentPane.add(statusBar, null);
contentPane.add(jSplitPane1);
jPanel1.add(jLabel1);
jPanel1.add(jComboBox1);
jPanel1.add(jTextField1);
jPanel1.add(jButton1);
jPanel1.add(jButton3);
jPanel1.add(jButton4);
jPanel1.add(jButton5);
jPanel1.add(jButton6);
TableColumn column;
column=jTable1.getColumnModel().getColumn(0);//获取表格模型里的第一列
column.setMaxWidth(80);
column.setMinWidth(50);
column=jTable1.getColumnModel().getColumn(1);
column.setMaxWidth(50);
column.setMinWidth(20);
column=jTable1.getColumnModel().getColumn(2);
column.setMaxWidth(50);
column.setMinWidth(20);
column=jTable1.getColumnModel().getColumn(3);
column.setMaxWidth(250);
column.setMinWidth(50);
column=jTable1.getColumnModel().getColumn(4);
column.setMaxWidth(200);
column.setMinWidth(50);
column=jTable1.getColumnModel().getColumn(5);
column.setMaxWidth(200);
column.setMinWidth(50);
jTable1.setRowHeight(30);
jSplitPane1.add(jTable1, JSplitPane.RIGHT);
jSplitPane1.add(jPanel1, JSplitPane.LEFT);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane1.getViewport().add(jTable1,null);
jSplitPane1.add(jScrollPane1,JSplitPane.RIGHT);
jSplitPane1.add(jScrollPane1,JSplitPane.RIGHT);
jScrollPane1.getViewport().add(jTable1,null);
jSplitPane1.setDividerLocation(90);
jSplitPane1.setDividerSize(5);
jSplitPane1.setEnabled(false);
jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
if(jTable1.getSelectedRow()!=-1)
{
jButton5.setEnabled(true);
jButton6.setEnabled(true);
}
}
});
String url="jdbc:odbc:rhaik";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection(url);
stmt=con.createStatement();
String sql="Select * from rhaik2";
update(sql);
}
void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
System.exit(0);
}
void jButton1_actionPerformed(ActionEvent actionEvent) {
int index=jComboBox1.getSelectedIndex();
String value=jTextField1.getText().trim();
String colName=getColumnName(index);
String sql;
if(colName!=null)
{
if(index!=2)
{
sql="select * from rhaik2 where "+colName+" like '%"+value+"%'";
}
else
{
try{
int age=Integer.parseInt(value);
sql="select * from rhaik2 where "+colName+"="+age;
}
catch(NumberFormatException ev)
{
JOptionPane.showMessageDialog(this,"年龄只能为数字","消息对话框",JOptionPane.OK_OPTION);
return;
}
}
update(sql);
jButton5.setEnabled(false);
jButton6.setEnabled(false);
}
else
{
return;
}
}
void jButton3_actionPerformed(ActionEvent actionEvent) {
String sql="select * from rhaik2";
update(sql);
jButton5.setEnabled(false);
jButton6.setEnabled(false);
}
void jButton4_actionPerformed(ActionEvent actionEvent) {
MyDialog1 dialog=new MyDialog1(this,"添加数据",true);
dialog.setBounds(400,300,220,310);
dialog.setResizable(false);
dialog.setModal(true);
dialog.show();
}
void jButton5_actionPerformed(ActionEvent actionEvent) {
int n=jTable1.getSelectedRow();
String name=(String)jTable1.getValueAt(n,0);
String sql="delete From rhaik2 where 姓名='"+name+"'";
try
{
stmt.executeQuery(sql);
}
catch(SQLException ev)
{
System.out.println(ev);
}
DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
model.removeRow(n);
jButton5.setEnabled(false);
jButton6.setEnabled(false);
}
void jButton6_actionPerformed(ActionEvent actionEvent) {
String data[]=new String[6];
int r=jTable1.getSelectedRow();
for(int i=0;i<6;i++)
{
data[i]=(String)jTable1.getValueAt(r,i);
}
MyDialog1 dialog=new MyDialog1(this,"修改数据",true,data);
dialog.setBounds(400,300,220,310);
dialog.setResizable(false);
dialog.setModal(true);
dialog.show();
}
void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
/* Frame3_AboutBox dlg = new Frame3_AboutBox(this);
Dimension dlgSize = dlg.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,
(frmSize.height - dlgSize.height) / 2 + loc.y);
dlg.setModal(true);
dlg.pack();
dlg.show();
*/}
String getColumnName(int index)
{
if(index==0)
{
return "姓名";
}
else if(index==1)
{
return "性别";
}
else if(index==2)
{
return "年龄";
}
else if(index==3)
{
return "电话";
}
else if(index==4)
{
return "地址";
}
else if(index==5)
{
return "备注";
}
else
{
return null;
}
}
void addRecord(String data[])
{
try
{
String sql="insert into rhaik2 values('"+data[0]+"','"+data[1]+"','"+data[2]+"','"+data[3]+"','"+data[4]+"','"+data[5]+"')";
stmt.executeQuery(sql);
}
catch(SQLException ev)
{
System.out.println(ev.getMessage());
return;
}
if(data[2]=="0")
data[2]="";
DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
model.addRow(data);
}
void editRecord(String data[])
{
String sql="uppdate rhaik2 set sex='"+data[1]+"'";
sql+=",age="+Integer.parseInt(data[2]);
sql+=",phone='"+data[3]+"'";
sql+=",address='"+data[4]+"'";
sql+=",remark='"+data[5]+"'";
sql+=". where name='"+data[0]+"'";
try
{
stmt.executeQuery(sql);
}
catch(SQLException ev)
{
System.out.println(ev.getMessage());
return;
}
int n=jTable1.getSelectedRow();
if(data[2]=="0")
data[2]="";
for(int i=1;i<6;i++)
{
jTable1.setValueAt(data[i],n,i);
}
}
void update(String sql)
{
DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
int count=jTable1.getRowCount();
for(int i=0;i<count;i++)
{
model.removeRow(0);
}
try
{
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
String name=rs.getString(1).trim();
String sex=rs.getString(2).trim();
String age=rs.getString(3).trim();
if(age=="0")
age="";
String phone=rs.getString(4).trim();
String addr=rs.getString(5).trim();
String remark=rs.getString(6).trim();
String row[]={name,sex,age,phone,addr,remark};
model.addRow(row);
}
if(jTable1.getRowCount()==0)
JOptionPane.showMessageDialog(this,"没有找到","消息对话框",JOptionPane.OK_OPTION);
}
catch(SQLException ev)
{
System.out.println(ev);
}
}
public static void main(String args[])
{
Database frame=new Database();
frame.setResizable(false);
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -