ATM自动取款机1.doc_第1页
ATM自动取款机1.doc_第2页
ATM自动取款机1.doc_第3页
ATM自动取款机1.doc_第4页
ATM自动取款机1.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

此文档收集于网络,如有侵权,请联系网站删除package atm;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DBMySql extends JFrame implements ActionListener String username;int password;boolean flag = false, m = false;long money, balance;String myid;/ 驱动器的名称private String strDBMySql = com.mysql.jdbc.Driver;/ 数据库的URL地址private String strUrl = jdbc:mysql:/localhost/atm;/ 指定要访问数据库的名称private String strDBName = atm;/ 数据库用户名称private String strUserName = root;/ 数据库用户密码private String strPassWord = null;/ 数据库连接对象,初始化为空private Connection conTemp = null;/ 连接的容器对象,初始化为空private Statement stmtTemp = null;/ 结果集对象初始化为空private ResultSet rsTemp = null;/ 操作记录的行数private int intOperateNum = 0;/* * - * * 功能概述:构造方法,加载指定缺省的驱动程序 - */public DBMySql(String title) / TODO Auto-generated constructor stubsuper(title);/this.setBackground(Color.blue);try Class.forName(strDBMySql); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();showCardLayout();public static void main(String args) / TODO Auto-generated method stubDBMySql d = new DBMySql(欢迎光临中国交通银行);d.setSize(400, 300);d.setLocation(300, 200);d.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);d.setVisible(true);/ showCardLayout();/* * - * * 功能概述:和数据库建立连接 - */public boolean createConnection() boolean blConnect = false;try conTemp=DriverManager.getConnection(strUrl,strUserName,strPassWord);conTemp.setCatalog(strDBName);conTemp.setAutoCommit(false);blConnect = true; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return blConnect;/* * - * * 功能概述:获得查询结果集 - */public ResultSet executeQuery(String strSQL) try if (conTemp = null) createConnection();stmtTemp = conTemp.createStatement();rsTemp = stmtTemp.executeQuery(strSQL);return rsTemp; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return null;/* * - * * 功能概述:对数据库执行更新、插入操作 - */public boolean executeUpdate(String strSQL) try if (conTemp = null) createConnection();stmtTemp = conTemp.createStatement();intOperateNum = stmtTemp.executeUpdate(strSQL);return true; catch (Exception e) e.printStackTrace();return false;/ executeUpdate()/* * - * * 功能概述:返回操作记录行数 - */public int getDBOperateNum() return intOperateNum;/ getDBOperateNum()/* * - * * 功能概述:提交事务 - */public void commit() try conTmit(); catch (Exception e) e.printStackTrace();/ commit()/* * - * * 功能概述:断开和数据库建立的连接 - */public void closeDBConnection() try if (rsTemp != null) rsTemp = null;if (conTemp != null) conTemp = null;if (stmtTemp != null) stmtTemp = null; catch (Exception e) e.printStackTrace();/ closeDBConnection()/ 查询余额public long getmoney(String getname) DBMySql d = new DBMySql(欢迎光临中国交通银行);try String strSQLSelect = SELECT balance FROM AccountTable WHERE cardname = + getname + ;ResultSet rsSQLSelect = d.executeQuery(strSQLSelect);if (rsSQLSelect.next()money = rsSQLSelect.getLong(balance);mit(); catch (Exception e) return money;/ 登陆public boolean login(String name, int pword) DBMySql d = new DBMySql(欢迎光临中国交通银行);try String strSQLSelect = SELECT cardPassWord FROM AccountTable WHERE cardname = + name + ;ResultSet rsSQLSelect = d.executeQuery(strSQLSelect);if (rsSQLSelect.next() int pwd = rsSQLSelect.getInt(cardPassWord);mit();if (pword = pwd)return true; catch (Exception e) return false;/ 修改密码public boolean alterpassword(int pword, String name) DBMySql d = new DBMySql(欢迎光临中国交通银行);String strSQLUpdate = UPDATE AccountTable Set cardPassWord = + pword+ WHERE cardname = + name + ;boolean bol = d.executeUpdate(strSQLUpdate);mit();return bol;/ 取款public boolean setmoney(Long moneys, String name) DBMySql d = new DBMySql(欢迎光临中国交通银行);long m;m = getmoney(name);/ 根据取款人的用户名获得取款人的余额if (m moneys) m = m - moneys;String strSQLUpdate = UPDATE AccountTable Set balance = + m+ WHERE cardname = + name + ;d.executeUpdate(strSQLUpdate);mit();return true; elsereturn false;/ 查询用户名是否存在public boolean getname(String name) String aname = ;DBMySql d = new DBMySql(欢迎光临中国交通银行);try String strSQLSelect = SELECT cardname FROM AccountTable ; ResultSet rsSQLSelect = d.executeQuery(strSQLSelect);if (rsSQLSelect.next() aname = rsSQLSelect.getString(cardname);/ mit();if (name = aname)return true; catch (Exception e) ;return false;/ 注册public boolean regist(String names, int pword) DBMySql d = new DBMySql(欢迎光临中国交通银行);boolean bol;bol = getname(names);if (bol)/ 如果存在return false; else String strSQLInsert = INSERT INTO AccountTable VALUES( + names+ , + pword + ,1515520);d.executeUpdate(strSQLInsert);mit();/ 暂时理解为对数据库进行刷新return true;/ 可能会用到的标签JLabel b1 = new JLabel(欢迎光临中国交通银行);JLabel b2 = new JLabel(请输入您的帐号);JLabel b3 = new JLabel(请输入您的密码);JLabel b4 = new JLabel(请输入您要的取款金额);JLabel b5 = new JLabel( 请输入您的新密码);JLabel b6 = new JLabel(请再次输入您的新密码);JLabel b7 = new JLabel( );JLabel b8 = new JLabel( );JLabel b9 = new JLabel(请选择您所需要的服务);JLabel b10 = new JLabel( );JLabel b11 = new JLabel(请输入您的帐号);JLabel b12 = new JLabel(请输入您的密码);JLabel b13 = new JLabel( );JButton t1 = new JButton(返回);JButton t12 = new JButton(返回);JButton t13 = new JButton(返回);JButton t14 = new JButton(返回);JButton t15 = new JButton(返回);JButton t16 = new JButton(返回);JButton t17 = new JButton(返回);JButton t2 = new JButton(进入);JButton t3 = new JButton(退出);JButton t4 = new JButton(确定);JButton t5 = new JButton(取款);JButton t6 = new JButton(修改密码);JButton t7 = new JButton(信息查询);JButton t8 = new JButton(确认);JButton t9 = new JButton(确认);JButton t10 = new JButton(注册新用户);JButton t11 = new JButton(注册);JTextField d1 = new JTextField(6); / 用户帐号设置为6位JPasswordField d2 = new JPasswordField(6); / 用户密码设置为6位/貌似这样的话密码会隐藏JTextField d3 = new JTextField(6); / 取款金额JPasswordField d4 = new JPasswordField(6); / 新密码输入JPasswordField d5 = new JPasswordField(6); / 新密码确认JTextArea d6 = new JTextArea(5, 17);JTextField d7 = new JTextField(6);JPasswordField d8 = new JPasswordField(6);JPanel p1 = new JPanel();/ 主面板JPanel a1 = new JPanel();JPanel a2 = new JPanel();JPanel a3 = new JPanel();JPanel p2 = new JPanel(); / 登陆面板JPanel bb1 = new JPanel();JPanel bb2 = new JPanel();JPanel bb3 = new JPanel();JPanel bb4 = new JPanel();JPanel p3 = new JPanel(); / 功能选择面板JPanel c1 = new JPanel();JPanel c2 = new JPanel();JPanel c3 = new JPanel();JPanel p4 = new JPanel(); / 取款面板JPanel dd1 = new JPanel();JPanel dd2 = new JPanel();JPanel dd3 = new JPanel();JPanel dd4 = new JPanel();JPanel p5 = new JPanel(); / 修改密码面板JPanel e1 = new JPanel();JPanel e2 = new JPanel();JPanel e3 = new JPanel();JPanel e4 = new JPanel();JPanel p6 = new JPanel(); / 信息查询面板JPanel p7 = new JPanel(); / 用户注册JPanel g1 = new JPanel();JPanel g2 = new JPanel();JPanel g3 = new JPanel();JPanel g4 = new JPanel();Container c = getContentPane();CardLayout f1 = new CardLayout();/ 将界面看做一系列的卡片,在任何时候只有其中一张卡片/是可见的,/ 适用于界面的跳转,show(container,name)方法用于显示container容器中的name卡片GridLayout f2 = new GridLayout(5, 1);private void showCardLayout() / TODO Auto-generated method stubd6.setLineWrap(true);d6.setEditable(false);c.setLayout(f1);p1.setLayout(f2);p2.setLayout(f2);p3.setLayout(f2);p4.setLayout(f2);p5.setLayout(f2);p6.setLayout(f2);p7.setLayout(f2);p1.add(a1);p1.add(a2);p1.add(a3);a1.add(b1);a2.add(t2);a2.add(t3);a3.add(t10);p2.add(bb1);p2.add(bb2);p2.add(bb3);p2.add(bb4);bb1.add(b2);bb1.add(d1);bb2.add(b3);bb2.add(d2);bb3.add(t4);bb3.add(t16);bb4.add(b7);p3.add(c1);p3.add(c2);p3.add(c3);c1.add(b9);c2.add(t5);c2.add(t6);c2.add(t7);c3.add(t14);p4.add(dd1);p4.add(dd2);p4.add(dd3);p4.add(dd4);dd1.add(b4);dd2.add(d3);dd3.add(t8);dd3.add(t12);dd4.add(b8);p5.add(e1);p5.add(e2);p5.add(e3);p5.add(e4);e1.add(b5);e1.add(d4);e2.add(b6);e2.add(d5);e3.add(t9);e3.add(t1);e4.add(b10);p6.add(d6);p6.add(t15);p7.add(g1);p7.add(g2);p7.add(g3);p7.add(g4);g1.add(b11);g1.add(d7);g2.add(b12);g2.add(d8);g4.add(t11);g4.add(t17);g3.add(b13);c.add(p1, 1);c.add(p2, 2);c.add(p3, 3);c.add(p4, 4);c.add(p5, 5);c.add(p6, 6);c.add(p7, 7);f1.show(c, 1);t1.addActionListener(this);t2.addActionListener(this);t3.addActionListener(this);t4.addActionListener(this);t5.addActionListener(this);t6.addActionListener(this);t7.addActionListener(this);t8.addActionListener(this);t9.addActionListener(this);t10.addActionListener(this);t11.addActionListener(this);t12.addActionListener(this);t13.addActionListener(this);t14.addActionListener(this);t15.addActionListener(this);t16.addActionListener(this);t17.addActionListener(this);public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif (e.getSource() = t2) /t2.setIcon(icon1);f1.show(c, 2);b7.setText();if (e.getSource() = t3)System.exit(0);if (e.getSource() = t4) username = d1.getText().trim();password = Integer.parseInt(d2.getText().trim();login(username, password);if (!login(username, password) b7.setText(您所输入的帐号或密码错误。请确认后重新输入!);d1.setText();d2.setText(); else b7.setText();f1.show(c, 3);d1.setText();d2.setText();if (e.getSource() = t5)f1.show(c, 4);if (e.getSource() = t6)f1.show(c, 5);if (e.getSource() = t7)f1.show(c, 6);if (e.get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论