ATM柜员机模拟系统代码.docx

上传人:b****2 文档编号:17585236 上传时间:2023-07-26 格式:DOCX 页数:11 大小:17.01KB
下载 相关 举报
ATM柜员机模拟系统代码.docx_第1页
第1页 / 共11页
ATM柜员机模拟系统代码.docx_第2页
第2页 / 共11页
ATM柜员机模拟系统代码.docx_第3页
第3页 / 共11页
ATM柜员机模拟系统代码.docx_第4页
第4页 / 共11页
ATM柜员机模拟系统代码.docx_第5页
第5页 / 共11页
ATM柜员机模拟系统代码.docx_第6页
第6页 / 共11页
ATM柜员机模拟系统代码.docx_第7页
第7页 / 共11页
ATM柜员机模拟系统代码.docx_第8页
第8页 / 共11页
ATM柜员机模拟系统代码.docx_第9页
第9页 / 共11页
ATM柜员机模拟系统代码.docx_第10页
第10页 / 共11页
ATM柜员机模拟系统代码.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ATM柜员机模拟系统代码.docx

《ATM柜员机模拟系统代码.docx》由会员分享,可在线阅读,更多相关《ATM柜员机模拟系统代码.docx(11页珍藏版)》请在冰点文库上搜索。

ATM柜员机模拟系统代码.docx

ATM柜员机模拟系统代码

Win.java

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

importjava.sql.*;

publicclassWinextendsJFrameimplementsActionListener{

JTextFieldtext[]=newJTextField[6];

JTextAreashow=newJTextArea(9,30);

JTabletable;//标签

JButtoninsert,update,select,delete,C,Q;

Win(){

setLayout(newFlowLayout());

for(inti=0;i<5;i++){

text[i]=newJTextField(10);

}

add(newJLabel("卡号:

"));

add(text[0]);

add(newJLabel(":

"));

add(text[1]);

add(newJLabel("密码:

"));

add(text[2]);

add(newJLabel("余额:

"));

add(text[3]);

add(newJLabel("序号:

"));

add(text[4]);

C=newJButton("存款");

C.addActionListener(this);

add(C);

Q=newJButton("取款");

Q.addActionListener(this);

add(Q);

update=newJButton("修改密码");

update.addActionListener(this);

add(update);

insert=newJButton("添加新用户");

insert.addActionListener(this);

add(insert);

select=newJButton("查询用户信息");

select.addActionListener(this);

add(select);

delete=newJButton("删除用户信息");

delete.addActionListener(this);

add(delete);

add(newJScrollPane(show));

add(newJLabel("提示:

1.每次取款金额为100的倍数,总额不能超过5000元,支取金额不允许透支"));

add(newJLabel("2.存款金额不能为负存款"));

add(newJLabel("3.新密码长度不小于6位,不允许出现6位完全相同的情况"));

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidactionPerformed(ActionEvente){

Operationmodify=newOperation();

modify.setDatasourceName("XX");

if(e.getSource()==insert)

{

modify.setSQL("INSERTINTOXXVALUES('"+text[4].getText()+"','"+text[0].getText()+"','"+text[1].getText()+"','"+text[2].getText()+"','"+text[3].getText()+"')");

StringbackMess=modify.modifyRecord();

show.append("添加新用户"+backMess);

}

elseif(e.getSource()==C)

{

Connectioncon=null;

Statementsql;

ResultSetrs=null;

try{

doublen=2000;

con=DriverManager.getConnection("jdbc:

odbc:

XX","","");

con.setAutoCommit(false);

sql=con.createStatement();

rs=sql.executeQuery("SELECT*FROMXXWHERE卡号='123456'");//查询

rs.next();

doublemoney=rs.getDouble(5);

System.out.println("操作前用户的余额:

"+money);

doublemoney1=money+n;//存款

sql.executeUpdate

("UPDATEXXSET余额=+'"+money1+"'WHERE卡号='123456'");//存款后更新余额

mit();

con.setAutoCommit(true);//提交事务结果到数据库

sql=con.createStatement();//创建数据库操作对象

}

catch(SQLExceptione1)

{try{con.rollback();}//如果操作失败则结束事务

catch(SQLExceptionexp){}

System.out.println(""+e);

}

}

elseif(e.getSource()==Q)

{Connectioncon=null;

Statementsql;

ResultSetrs=null;

try{

doublen=5000;

con=DriverManager.getConnection("jdbc:

odbc:

XX","","");

con.setAutoCommit(false);

sql=con.createStatement();

rs=sql.executeQuery("SELECT*FROMXXWHERE卡号='123456'");

rs.next();

doublemoney=rs.getDouble(5);

System.out.println("操作前用户的余额:

"+money);

doublemoney2=money-n;//取款

sql.executeUpdate

("UPDATEXXSET余额=+'"+money2+"'WHERE卡号='123456'");//取款后更新余额

mit();

con.setAutoCommit(true);

sql=con.createStatement();

}

catch(SQLExceptione1)

{try{con.rollback();}

catch(SQLExceptionexp){}

System.out.println(""+e);

}

}

elseif(e.getSource()==update)

{

modify.setSQL("UPDATEXXSETXX.密码=+'"+text[2].getText()+"'WHERE(((XX.卡号)=+'"+text[0].getText()+"'));");

StringbackMess=modify.modifyRecord();

show.append("修改密码"+backMess);

}

elseif(e.getSource()==delete)

{

modify.setSQL("DELETE*FROMXXWHERE(((XX.卡号)=+'"+text[0].getText()+"'));");

StringbackMess=modify.modifyRecord();

show.append("删除用户信息"+backMess);

}

elseif(e.getSource()==select)

{

Queryquery=newQuery();

query.setDatasoureName("XX");

query.setTableName("XX");

Objecta[][]=query.getRecord();

Stringb[]={"序号","卡号","","密码","余额"};

table=newJTable(a,b);

JFrameframe=newJFrame();

frame.add(newJScrollPane(table));

frame.setVisible(true);

frame.setBounds(400,400,600,200);

}

}

publicvoidsetBounds(inti,intj,intk,intl){}

}

Operation.java

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclassOperation{

StringdatasourceName="";//数据源名称

StringSQL,message="";//表名

publicOperation()//增删改的主代码

{

try{Class.forName(".microsoft.sqlserver.jdbc.SQLServerDriver");}//操作数据源

catch(Exceptione){}

}

publicvoidsetSQL(StringSQL)//建立一个新的数据源

{this.SQL=SQL;}

publicvoidsetDatasourceName(Strings)

{datasourceName=s.trim();}

publicStringmodifyRecord(){

Connectioncon=null;

Statementsql=null;

try{Stringuri="jdbc:

odbc:

"+datasourceName;

Stringid="";

Stringpassword="";

con=DriverManager.getConnection(uri,id,password);

sql=con.createStatement();

sql.execute(SQL);

message="操作成功";

con.close();

}

catch(SQLExceptione)

{message=e.toString();}

returnmessage;

}/*数据源读取初始化*/

publicvoidsetTableName(Stringstring){}//表名

publicObject[][]getRecord()//存放操作结果数组

{returnnull;}

}

Query.java

importjava.sql.*;

import.httpserver.Authenticator.Result;

publicclassQuery

{StringdatasourceName="";//数据源名

StringtableName="";//表名

Objecta[][];

publicQuery()

{

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}//桥接器

catch(ClassNotFoundExceptione)

{System.out.print(e);}

}

publicvoidsetDatasoureName(Strings)

{datasourceName=s.trim();}

publicvoidsetTableName(Strings)

{tableName=s.trim();}

publicObject[][]getRecord()//获取表中记录

{

Connectioncon;

PreparedStatementsql;//预处理命令

ResultSetrs;//结果集

try{

Stringuri="jdbc:

odbc:

"+datasourceName;

Stringnumber="";

Stringpassword="";

con=DriverManager.getConnection(uri,number,password);//初始化连接

DatabaseMetaDatametadata=con.getMetaData();

//连接对象调用getMetaData()方法返回一个DatabaseMetaData对象

ResultSetrs1=metadata.getColumns(null,null,tableName,null);

//将表中的字段信息以行列的形式存储在Result中

int字段个数=0;

while(rs1.next())

{字段个数++;}

intn=getAmount();

a=newObject[n][字段个数];

sql=con.prepareStatement("SELECT*FROM"+tableName);//查询表名

rs=sql.executeQuery();

intm=0;

while(rs.next())//输出结果集中的数据

{for(intk=1;k<=字段个数;k++)

{a[m][k-1]=rs.getString(k);}

m++;

}

con.close();

}

catch(SQLExceptione)

{System.out.println("请输入正确的表名"+e);}

returna;

}

publicintgetAmount()

{

Connectioncon;

Statementsql;

ResultSetrs;

try{

Stringuri="jdbc:

odbc:

"+datasourceName;

Stringid="";

Stringpassword="";

con=DriverManager.getConnection(uri,id,password);

sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//以只读方式滚动查询

rs=sql.executeQuery("SELECT*FROM"+tableName);//获取所在行

rs.last();

introws=rs.getRow();//当前游标所指行号

returnrows;

}

catch(SQLExceptionexp)

{

System.out.println(""+exp);

return0;

}

}

publicvoidinputQueryResult(){}

}

ATM.java

publicclassATM{

publicstaticvoidmain(Stringargs[])

{Winwin=newWin();

win.setBounds(400,300,400,300);//设置组件在容器中的位置和本身的大小

win.setTitle("ATM自动柜员机");

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2