package test;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
//import java.awt.*;
import javax.swing.*;
/**
* 表名:bankAccount
* 表结构:id(int[自动增长]),ownerName(varchar),accountValue(varchar),accountLevel(varchar)
*
* @author wbcui
*
*/
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.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
conn = DriverManager.getConnection(url, "cwb", "cwb123");
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
} catch (Exception ex) {
}
}
public static void main(String[] args) {
data d=new data();
d.select();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == add) {
System.out.println("add");
this.add();
}
if (e.getSource() == select) {
System.out.println("select");
this.select();
}
if (e.getSource() == update) {
System.out.println("update");
this.update();
}
if (e.getSource() == del) {
System.out.println("del");
this.del();
}
}
public void del() {
try {
int row = table.getSelectedRow();
String sql="delete from bankAccount where id='"+ body[row][0] + "'";
stat.executeUpdate(sql);
System.out.println("del1");
JOptionPane.showMessageDialog(null, "数据已成功删除");
System.out.println("del2");
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, "插入信息2",
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");
System.out.println(ownerName);
String accountValue = t[3].getText();
System.out.println(accountValue);
// int accountLevel = Integer.parseInt(t[5].getText());
String accountLevel = t[5].getText();
System.out.println(accountLevel);
String sql="update bankAccount set ownerName='"
+ ownerName + "',accountValue='" + accountValue
+ "',accountLevel='" + accountLevel
+ "' where id=" + body[row][0] + "";
System.out.println(sql);
stat.executeUpdate(sql);
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.getString(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, "插入数据错误!");
}
}
this.select();
} catch (Exception ex) {
}
}
}