ATM柜员机模拟系统_代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Win.java
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
public class Win extends JFrame implements ActionListener { JTextField text[]=new JTextField[6];
JTextArea show=new JTextArea(9,30);
JTable table;//标签
JButton insert,update,select,delete,C,Q;
Win() {
setLayout(new FlowLayout());
for(int i=0;i<5;i++) {
text[i]=new JTextField(10);
}
add(new JLabel("卡号:"));
add(text[0]);
add(new JLabel(":"));
add(text[1]);
add(new JLabel("密码:"));
add(text[2]);
add(new JLabel("余额:"));
add(text[3]);
add(new JLabel("序号:"));
add(text[4]);
C=new JButton("存款");
C.addActionListener(this);
add(C);
Q=new JButton("取款");
Q.addActionListener(this);
add(Q);
update=new JButton("修改密码");
update.addActionListener(this);
add(update);
insert=new JButton("添加新用户");
insert.addActionListener(this);
add(insert);
select=new JButton("查询用户信息");
select.addActionListener(this);
add(select);
delete=new JButton("删除用户信息");
delete.addActionListener(this);
add(delete);
add(new JScrollPane(show));
add(new JLabel("提示:1.每次取款金额为100的倍数,总额不能超过5000元,支取金额不允许透支"));
add(new JLabel("2.存款金额不能为负存款"));
add(new JLabel("3.新密码长度不小于6位,不允许出现6位完全相同的情况"));
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
Operation modify=new Operation();
modify.setDatasourceName("XX");
if(e.getSource()==insert)
{
modify.setSQL("INSERT INTO XX VALUES
('"+text[4].getText()+"','"+text[0].getText()+"','"+text[1].getText()+"','"+text[2].getText()+"','"+tex t[3].getText()+"')");
String backMess=modify.modifyRecord();
show.append("添加新用户"+backMess);
}
else if(e.getSource()==C)
{
Connection con=null;
Statement sql;
ResultSet rs = null;
try{
double n=2000;
con=DriverManager.getConnection("jdbc:odbc:XX","","");
con.setAutoCommit(false);
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM XX WHERE 卡号='123456'");
//查询
rs.next();
double money=rs.getDouble(5);
System.out.println("操作前用户的余额:"+money);
double money1=money+n; //存款
sql.executeUpdate
("UPDATE XX SET 余额=+'"+money1+"' WHERE 卡号='123456'"); //存款后更新余额
mit();
con.setAutoCommit(true); //提交事务结果到数据库
sql=con.createStatement(); //创建数据库操作对象
}
catch(SQLException e1)