ATM柜員機模擬系統(tǒng)-代碼_第1頁
ATM柜員機模擬系統(tǒng)-代碼_第2頁
ATM柜員機模擬系統(tǒng)-代碼_第3頁
ATM柜員機模擬系統(tǒng)-代碼_第4頁
ATM柜員機模擬系統(tǒng)-代碼_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、Win.javaimport java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Win extends JFrame implements ActionListener JTextField text=new JTextField6; JTextArea show=new JTextArea(9,30); JTable table;/標簽 JButton insert,update,select,delete,C,Q; Win() setLayout(new FlowLa

2、yout(); for(int i=0;i5;i+) texti=new JTextField(10); add(new JLabel(卡號:); add(text0); add(new JLabel(姓名:); add(text1); add(new JLabel(密碼:); add(text2); add(new JLabel(余額:); add(text3); add(new JLabel(序號:); add(text4); C=new JButton(存款); C.addActionListener(this); add(C); Q=new JButton(取款); Q.addActi

3、onListener(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)

4、; add(delete); add(new JScrollPane(show); add(new JLabel(提示:1.每次取款金額為100的倍數(shù),總額不能超過5000元,支取金額不允許透支); add(new JLabel(2.存款金額不能為負存款); add(new JLabel(3.新密碼長度不小于6位,不允許出現(xiàn)6位完全相同的情況); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void actionPerformed(ActionEvent e) Operation modify

5、=new Operation(); modify.setDatasourceName(XX); if(e.getSource()=insert) modify.setSQL(INSERT INTO XX VALUES (+text4.getText()+,+text0.getText()+,+text1.getText()+,+text2.getText()+,+text3.getText()+); String backMess=modify.modifyRecord(); show.append(添加新用戶+backMess); else if(e.getSource()=C) Conne

6、ction 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(操作前用戶的余額:

7、+money); double money1=money+n;/存款 sql.executeUpdate (UPDATE XX SET 余額=+money1+ WHERE 卡號=123456);/存款后更新余額 mit(); con.setAutoCommit(true);/提交事務結(jié)果到數(shù)據(jù)庫 sql=con.createStatement();/創(chuàng)建數(shù)據(jù)庫操作對象 catch(SQLException e1) try con.rollback(); /如果操作失敗則結(jié)束事務 catch(SQLException exp) System.out.println(+e); else if(e.

8、getSource()=Q) Connection con=null; Statement sql; ResultSet rs = null; try double n=5000; 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.p

9、rintln(操作前用戶的余額:+money); double money2=money-n;/取款 sql.executeUpdate (UPDATE XX SET 余額=+money2+ WHERE 卡號=123456);/取款后更新余額 mit(); con.setAutoCommit(true); sql=con.createStatement(); catch(SQLException e1) try con.rollback(); catch(SQLException exp) System.out.println(+e); else if(e.getSource()=update

10、) modify.setSQL(UPDATE XX SET XX.密碼 =+text2.getText()+ WHERE (XX.卡號)=+text0.getText()+);); String backMess=modify.modifyRecord(); show.append(修改密碼+backMess); else if(e.getSource()=delete) modify.setSQL(DELETE * FROM XX WHERE (XX.卡號)=+text0.getText()+);); String backMess=modify.modifyRecord(); show.a

11、ppend(刪除用戶信息+backMess); else if(e.getSource()=select) Query query =new Query(); query.setDatasoureName(XX); query.setTableName(XX); Object a=query.getRecord(); String b=序號,卡號,姓名,密碼,余額; table=new JTable(a,b); JFrame frame=new JFrame(); frame.add(new JScrollPane(table); frame.setVisible(true); frame.s

12、etBounds(400,400,600,200); public void setBounds(int i, int j, int k, int l) Operation.javaimport java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class OperationString datasourceName=;/數(shù)據(jù)源名稱String SQL,message=;/表名public Operation()/增刪改的

13、主代碼 try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); /操作數(shù)據(jù)源 catch(Exception e) public void setSQL(String SQL)/建立一個新的數(shù)據(jù)源 this.SQL=SQL; public void setDatasourceName(String s) datasourceName=s.trim(); public String modifyRecord() Connection con=null; Statement sql=null; try String uri=

14、jdbc:odbc:+datasourceName; String id=; String password=; con=DriverManager.getConnection(uri,id,password); sql=con.createStatement(); sql.execute(SQL); message=操作成功; con.close(); catch(SQLException e) message=e.toString(); return message; /*數(shù)據(jù)源讀取初始化*/public void setTableName(String string) /表名public

15、 Object getRecord() /存放操作結(jié)果數(shù)組 return null; Query.javaimport java.sql.*;import .httpserver.Authenticator.Result;public class Query String datasourceName=;/數(shù)據(jù)源名 String tableName=;/表名 Object a; public Query() tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);/橋接器 catch(ClassNotFoundException e) System.out

16、.print(e); public void setDatasoureName(String s) datasourceName=s.trim(); public void setTableName(String s) tableName=s.trim(); public Object getRecord()/獲取表中記錄 Connection con; PreparedStatement sql;/預處理命令 ResultSet rs;/結(jié)果集 try String uri=jdbc:odbc:+datasourceName; String number=; String password=

17、; con=DriverManager.getConnection(uri,number,password);/初始化連接 DatabaseMetaData metadata=con.getMetaData(); /連接對象調(diào)用getMetaData()方法返回一個DatabaseMetaData對象 ResultSet rs1=metadata.getColumns(null,null,tableName,null);/將表中的字段信息以行列的形式存儲在Result中 int 字段個數(shù)=0; while(rs1.next() 字段個數(shù)+; int n=getAmount(); a=new O

18、bjectn字段個數(shù); sql=con.prepareStatement(SELECT * FROM +tableName);/查詢表名 rs=sql.executeQuery(); int m=0; while(rs.next()/輸出結(jié)果集中的數(shù)據(jù) for(int k=1;k=字段個數(shù);k+) amk-1=rs.getString(k); m+; con.close(); catch(SQLException e) System.out.println(請輸入正確的表名+e); return a;public int getAmount() Connection con; Statement sql; ResultSet rs; try String uri=jdbc:odbc:+datasourceName; String id=; String password=; con=DriverManager.getConnection(uri,id,password); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); /以只讀方式滾動查詢 rs=sql.executeQuery(SELECT * FROM +tableName);/獲取所在行 rs

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論