版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.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;/ 驅(qū)動器的名稱private String strDBMySql = com.mysql.jdbc.
2、Driver;/ 數(shù)據(jù)庫的URL地址private String strUrl = jdbc:mysql:/localhost/atm;/ 指定要訪問數(shù)據(jù)庫的名稱private String strDBName = atm;/ 數(shù)據(jù)庫用戶名稱private String strUserName = root;/ 數(shù)據(jù)庫用戶密碼private String strPassWord = null;/ 數(shù)據(jù)庫連接對象,初始化為空private Connection conTemp = null;/ 連接的容器對象,初始化為空private Statement stmtTemp = null;/ 結(jié)果
3、集對象初始化為空private ResultSet rsTemp = null;/ 操作記錄的行數(shù)private int intOperateNum = 0;/* * - * * 功能概述:構(gòu)造方法,加載指定缺省的驅(qū)動程序 - */public DBMySql(String title) / TODO Auto-generated constructor stubsuper(title);/this.setBackground(Color.blue);try Class.forName(strDBMySql); catch (ClassNotFoundException e) / TODO A
4、uto-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();/
5、* * - * * 功能概述:和數(shù)據(jù)庫建立連接 - */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.print
6、StackTrace();return blConnect;/* * - * * 功能概述:獲得查詢結(jié)果集 - */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.print
7、StackTrace();return null;/* * - * * 功能概述:對數(shù)據(jù)庫執(zhí)行更新、插入操作 - */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;/ ex
8、ecuteUpdate()/* * - * * 功能概述:返回操作記錄行數(shù) - */public int getDBOperateNum() return intOperateNum;/ getDBOperateNum()/* * - * * 功能概述:提交事務(wù) - */public void commit() try conTmit(); catch (Exception e) e.printStackTrace();/ commit()/* * - * * 功能概述:斷開和數(shù)據(jù)庫建立的連接 - */public void closeDBConnection() try if (rsTemp
9、 != 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 WH
10、ERE 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 ca
11、rdPassWord 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
12、) 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 = get
13、money(name);/ 根據(jù)取款人的用戶名獲得取款人的余額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
14、(歡迎光臨中國交通銀行);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 name
15、s, 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();/ 暫時理解為對數(shù)據(jù)庫進(jìn)行刷新return true;/ 可能會用到的標(biāo)簽JLabel b1 = new JLabel(歡迎
16、光臨中國交通銀行);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(請選擇您所需要的服務(wù));JLabel b10 = new JLabel( );JLabel b
17、11 = 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(返回);JButto
18、n t2 = new JButton(進(jìn)入);JButton t3 = new JButton(退出);JButton t4 = new JButton(確定);JButton t5 = new JButton(取款);JButton t6 = new JButton(修改密碼);JButton t7 = new JButton(信息查詢);JButton t8 = new JButton(確認(rèn));JButton t9 = new JButton(確認(rèn));JButton t10 = new JButton(注冊新用戶);JButton t11 = new JButton(注冊);JTextFi
19、eld d1 = new JTextField(6); / 用戶帳號設(shè)置為6位JPasswordField d2 = new JPasswordField(6); / 用戶密碼設(shè)置為6位/貌似這樣的話密碼會隱藏JTextField d3 = new JTextField(6); / 取款金額JPasswordField d4 = new JPasswordField(6); / 新密碼輸入JPasswordField d5 = new JPasswordField(6); / 新密碼確認(rèn)JTextArea d6 = new JTextArea(5, 17);JTextField d7 = ne
20、w 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();J
21、Panel 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
22、();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 CardL
23、ayout();/ 將界面看做一系列的卡片,在任何時候只有其中一張卡片/是可見的,/ 適用于界面的跳轉(zhuǎn),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.setLayo
24、ut(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.
25、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
26、(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.addActionL
27、istener(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.addAction
28、Listener(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)Syst
29、em.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(您所輸入的帳號或密碼錯誤。請確認(rèn)后重新輸入!);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.ge
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雨雪天氣應(yīng)急預(yù)案15篇
- 寬基指數(shù)創(chuàng)新探索:基于行業(yè)均衡的視角- 2024
- 2025屆甘肅省白銀市會寧縣會寧縣第一中學(xué)高三適應(yīng)性調(diào)研考試數(shù)學(xué)試題含解析
- 陜西省漢濱區(qū)2025屆高三下學(xué)期一??荚嚁?shù)學(xué)試題含解析
- 2025屆寧夏青銅峽一中高考仿真卷數(shù)學(xué)試卷含解析
- 2025屆新疆石河子市第二中學(xué)高三第一次調(diào)研測試英語試卷含解析
- 2025屆甘肅省嘉峪關(guān)市重點中學(xué)高考適應(yīng)性考試英語試卷含解析
- 《飛利浦燈泡培訓(xùn)》課件
- 貴州省都勻第一中學(xué)2025屆高考數(shù)學(xué)倒計時模擬卷含解析
- 2025屆山東省濰坊市第一中學(xué)高三下學(xué)期聯(lián)合考試語文試題含解析
- 智慧校園匯報材料PPT
- 工作人員輪崗交流動員會上的講話
- Q∕GDW 11421-2020 電能表外置斷路器技術(shù)規(guī)范
- 商業(yè)銀行信用風(fēng)險管理信用風(fēng)險計量
- 三年級9月《安徒生童話》閱讀測試題及答案
- 連二亞硫酸鈉化學(xué)品安全技術(shù)說明書
- 醫(yī)院環(huán)境衛(wèi)生整治排查表
- (完整版)馬來西亞建筑規(guī)范
- 三年級安全教案
- 濟南泉水的故事課件
- SOLO分類評價理論及應(yīng)用解析(課堂PPT)
評論
0/150
提交評論