import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.awt.*;
import javax.swing.*;
public class data extends JFrame implements ActionListener{
JButton add,select,del,update;
JTable table;
Object body[][]=new Object[50][4];
String title[]={"编号","姓名","分数","级别"};
Connection conn;
Statement stat;
ResultSet rs;
JTabbedPane tp;
public data() {
super("数据库操作");
this.setSize(400,300);
this.setLocation(300,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel ps=new JPanel();
add=new JButton("添加");
select=new JButton("显示");
update=new JButton("更改");
del=new JButton("删除");
add.addActionListener(this);
select.addActionListener(this);
update.addActionListener(this);
del.addActionListener(this);
ps.add(add);ps.add(select);ps.add(update);ps.add(del);
table=new JTable(body,title);
tp=new JTabbedPane();
tp.add("bankAccount表",new JScrollPane(table));
this.getContentPane().add(tp,"Center");
this.getContentPane().add(ps,"South");
this.setVisible(true);
this.connection();
}
public void connection(){
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dxaw";
conn=DriverManager.getConnection(url,"dxaw","123");
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
} catch (Exception ex) {
}
}
public static void main(String[] args) {
data data = new data();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==add)
{add();}
if(e.getSource()==select)
{select();}
if(e.getSource()==update)
{update();}
if(e.getSource()==del)
{del();}
}
public void del() {
try {
int row=table.getSelectedRow();
stat.executeUpdate("delete bankAccount where accountID='"+body[row][0]+"'");
JOptionPane.showMessageDialog(null,"数据已成功删除");
this.select();
} catch (SQLException ex) {
}
}
public void update() {
try {
int row=table.getSelectedRow();
JTextField t[]=new JTextField[6];
t[0]=new JTextField("输入姓名:");
t[0].setEditable(false);
t[1]=new JTextField();
t[2]=new JTextField("输入分数:");
t[2].setEditable(false);
t[3]=new JTextField();
t[4]=new JTextField("输入级别:");
t[4].setEditable(false);
t[5]=new JTextField();
String but[]={"确定","取消"};
int go=JOptionPane.showOptionDialog(
null,t,"插入信息",JOptionPane.YES_OPTION,
JOptionPane.INFORMATION_MESSAGE,null,but,but[0]);
if(go==0){
String ownerName=new String(t[1].getText().getBytes("ISO-8859-1"),
"GBK");
String accountValue=t[3].getText();
int accountLevel=Integer.parseInt(t[5].getText());
stat.executeUpdate("update bankAccount set ownerName='"+ownerName+"',
accountValue='"+accountValue+"',accountLevel='"+accountLevel+"'
where accountID='"+body[row][0]+"'");
JOptionPane.showMessageDialog(null,"修改数据成功");
this.select();
}
} catch (Exception ex) {
}
}
public void select() {
try {
for(int x=0;x<body.length;x++){
body[x][0]=null;
body[x][1]=null;
body[x][2]=null;
body[x][3]=null;
}
int i=0;
rs=stat.executeQuery("select * from bankAccount");
while(rs.next()){
body[i][0]=rs.getInt(1);
body[i][1]=rs.getString(2);
body[i][2]=rs.getString(3);
body[i][3]=rs.getInt(4);
i=i+1;
}
this.repaint();
} catch (SQLException ex) {
}
}
private void add() {
try {
JTextField t[]=new JTextField[6];
t[0]=new JTextField("输入姓名:");
t[0].setEditable(false);
t[1]=new JTextField();
t[2]=new JTextField("输入分数:");
t[2].setEditable(false);
t[3]=new JTextField();
t[4]=new JTextField("输入级别:");
t[4].setEditable(false);
t[5]=new JTextField();
String but[]={"确定","取消"};
int go=JOptionPane.showOptionDialog(null,t,"插入信息",
JOptionPane.YES_OPTION,JOptionPane.INFORMATION_MESSAGE,null,but,but[0]);
if(go==0){
try{
String ownerName=new String(t[1].getText().getBytes("ISO-8859-1"),"GBK");
String accountValue=t[3].getText();
int accountLevel=Integer.parseInt(t[5].getText());
stat.executeUpdate("insert into bankAccount
(ownerName,accountValue,accountLevel) values
('"+ownerName+"','"+accountValue+"','"+accountLevel+"')");
JOptionPane.showMessageDialog(null,"数据已成功插入!");
}catch(Exception ee){
JOptionPane.showMessageDialog(null,"插入数据错误!");
}
}
} catch (Exception ex) {
}
}
} |