ATM柜员机模拟系统-代码_第1页
ATM柜员机模拟系统-代码_第2页
ATM柜员机模拟系统-代码_第3页
ATM柜员机模拟系统-代码_第4页
ATM柜员机模拟系统-代码_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

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的倍数,总额不能超过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

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);/提交事务结果到数据库 sql=con.createStatement();/创建数据库操作对象 catch(SQLException e1) try con.rollback(); /如果操作失败则结束事务 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=;/数据源名称String SQL,message=;/表名public Operation()/增删改的

13、主代码 try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); /操作数据源 catch(Exception e) public void setSQL(String SQL)/建立一个新的数据源 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; /*数据源读取初始化*/public void setTableName(String string) /表名public

15、 Object getRecord() /存放操作结果数组 return null; Query.javaimport java.sql.*;import .httpserver.Authenticator.Result;public class Query String datasourceName=;/数据源名 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;/结果集 try String uri=jdbc:odbc:+datasourceName; String number=; String password=

17、; con=DriverManager.getConnection(uri,number,password);/初始化连接 DatabaseMetaData metadata=con.getMetaData(); /连接对象调用getMetaData()方法返回一个DatabaseMetaData对象 ResultSet rs1=metadata.getColumns(null,null,tableName,null);/将表中的字段信息以行列的形式存储在Result中 int 字段个数=0; while(rs1.next() 字段个数+; int n=getAmount(); a=new O

18、bjectn字段个数; sql=con.prepareStatement(SELECT * FROM +tableName);/查询表名 rs=sql.executeQuery(); int m=0; while(rs.next()/输出结果集中的数据 for(int k=1;k=字段个数;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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论