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

下载本文档

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

文档简介

1、Win.javapublic 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 FlowLayout();for(int i=0;i<5;i+) texti=new JTextField(10);add(new JLabel(" 卡号: &qu

2、ot;);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("

4、; 删除用户信息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(J

5、Frame.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('"+text4.getText()+"','"+text0.getText()+"','"+text

6、1.getText()+"','"+text2.getText()+"','"+text3.getText()+"')");String backMess=modify.modifyRecord();show.append("添加新用户 "+backMess);else if(e.getSource()=C)Connection con=null;Statement sql;ResultSet rs = null;trydouble n=2000;con=DriverMana

7、ger.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);操作前用户的余额:"+money);double money1=money+n; / 存款sql.execute

8、Update("UPDATE XX SET余额 =+'"+money1+"' WHERE卡号 ='123456'"); / 存款后更新余额mit();con.setAutoCommit(true);/提交事务结果到数据库sql=con.createStatement();/创建数据库操作对象catch(SQLException e1)try con.rollback();/如果操作失败则结束事务catch(SQLException exp)else if(e.getSource()=Q)Connection con=nul

9、l; Statement sql; ResultSet rs = null; trydouble 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.getDoub

10、le(5);操作前用户的余额:"+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)else if(e.

11、getSource()=update)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("DELET

12、E * FROMXXWHERE (XX. 卡号)=+'"+text0.getText()+"');");String backMess=modify.modifyRecord();show.append("删除用户信息 "+backMess);else if(e.getSource()=select)Query query =new Query();query.setDatasoureName("XX");query.setTableName("XX");Object a=query.ge

13、tRecord();String b=" 序号 "," 卡号 ",""," 密码 "," 余额 "table=new JTable(a,b);JFrame frame=new JFrame();frame.add(new JScrollPane(table);frame.setVisible(true);frame.setBounds(400,400,600,200);public void setBounds(int i, int j, int k, int l) Operation.java

14、public class OperationString datasourceName=""/数据源名称String SQL,message=""/ 表名public Operation()/增删改的主代码/ 操作数据源catch(Exception e)public void setSQL(String SQL)this.SQL=SQL;/ 建立一个新的数据源public void setDatasourceName(String s) datasourceName=s.trim(); public String modifyRecord()Conne

15、ction con=null;Statement sql=null;try String uri="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.to

16、String(); return message;/* 数据源读取初始化 */public void setTableName(String string) /表名public Object getRecord() /存放操作结果数组return null;Query.javapublicclass QueryStringdatasourceName="" / 数据源名String tableName=""/ 表名Objecta;public Query()桥接器catch(ClassNotFoundExceptione)publicvoidsetDat

17、asoureName(String s)datasourceName=s.trim();publicvoidsetTableName(String s)tableName=s.trim();publicObjectgetRecord()/获取表中记录Connectioncon;PreparedStatementsql; / 预处理命令ResultSetrs; /结果集tryStringuri="jdbc:odbc:"+datasourceName;Stringnumber=""Stringpassword=""con=DriverMa

18、nager.getConnection(uri,number,password);/初始化连接DatabaseMetaDatametadata=con.getMetaData();/连接对象调用getMetaData() 方法返回一个DatabaseMetaData对象ResultSetrs1=metadata.getColumns(null,null,tableName,null);/将表中的字段信息以行列的形式存储在Result 中int字段个数 =0;while(rs1.next()字段个数 +;int n=getAmount();a=newObjectn 字段个数 ;sql=con.prepareStatement("SELECT * FROM "+tableName);/查询表名rs=sql.executeQuery();intm=0;while(rs.next()/输出结果集中的数据for(intk=1;k<= 字段个数 ;k+)amk-1=rs.getString(k);m+;con.close();catch(SQLExceptione)请输入正确的表名"+e);returna;publicintgetAmou

温馨提示

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

评论

0/150

提交评论