📄 dbaccess.java
字号:
/*本系统使用纯java语言编写,其中使用的数据库为SQL server 2000,包括三张表:IC表、ATM表、bank表。使用JDBC对数据库进行连接,在连接数据库之前,必须给SQL server 2000打上指示SP4补丁包,然后按装JDBC并进行环境变量的设置,把JDBC中lib下面的三个文件copy到JDK中的jre->lib->ext下面。
系统原代码如下:*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.sql.*;
import java.net.URL;
import java.util.Date;
import java.lang.*;
public class DBAccess extends JFrame implements ActionListener{
private String strDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //JDBC驱动器名称
private String strUrl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=soft"; //数据库的URL地址
private String strDBName="soft"; //指定访问的数据库名称
private String strUserName="sa"; //数据库用户名称
private String strPassWord="123456"; //数据库用户密码
private Connection conTemp=null; //数据库连接对象,初始化为空
private Statement stmtTemp=null; //连接的容器对象,初始化为空
private ResultSet rsTemp=null; //结果集对象,初始化为空
private int intOperateNum=0;
private String ATM_id="123456789"; //操作记录行数
public static void main(String[] args) { //主方法
DBAccess d=new DBAccess();
d.setSize(400,300);
d.setLocation(300,200);
d.setTitle("欢迎使用ATM自动取款机");
d.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//d.pack();
d.show();
}
public DBAccess() //构造方法
{
try{
Class.forName(strDBDriver).newInstance();
}
catch(Exception e)
{ System.out.print("数据库驱动出错或不存在!");
e.printStackTrace();
}
showCardLayout();
}
public boolean createConnection(){ //创建与数据库的连接
boolean blConnect=false;
try{ conTemp=DriverManager.getConnection(strUrl,strUserName,strPassWord);
//stmtTemp=conTemp.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
stmtTemp=conTemp.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
// conTemp.setCatalog(strDBName);
//conTemp.setAutoCommit(false);
blConnect=true;}
catch(Exception e){
System.out.print("连接出错!");
e.printStackTrace();}
return blConnect;
}
public ResultSet executeQuery(String strSQL){ //查询
try{
if(conTemp==null)
{
createConnection();
}
stmtTemp=conTemp.createStatement();
rsTemp=stmtTemp.executeQuery(strSQL);
return rsTemp;
}
catch(Exception e)
{System.out.print("查询出错~~~~!");
e.printStackTrace();
return null;
}
}
public boolean executeUpdate(String strSQL){ //更新操作
try{
if(conTemp==null){
createConnection();
stmtTemp=conTemp.createStatement();
}
intOperateNum=stmtTemp.executeUpdate(strSQL);
return true;}
catch(Exception e){
System.out.print("更新出错!");
e.printStackTrace();
return false;
}
}
public int getDBOperateNum(){ //返回操作记录行数
return intOperateNum;
}
public void commit(){ //提交事务
try{
conTemp.commit();
}
catch(Exception e)
{System.out.print("事务提交出错!");
e.printStackTrace();
}
}
public void closeDBConnection(){ //关闭与数据库的连接
try{
if(rsTemp!=null)
{
rsTemp=null;
}
if(conTemp!=null)
{
conTemp=null;
}
if(stmtTemp!=null)
{stmtTemp=null;}
}
catch(Exception e){
System.out.print("数据库断开出错!");
e.printStackTrace();
}
}
public float getmoney(String getIC){ //查询余额
float mone=0;
DBAccess d=new DBAccess();
try {
if(conTemp==null){
createConnection();
stmtTemp=conTemp.createStatement();
}
String strSQLSelect="SELECT money FROM IC WHERE IC_ID='"+getIC+"'";
ResultSet rsSQLSelect=d.executeQuery(strSQLSelect);
if(rsSQLSelect.next())
{
mone=rsSQLSelect.getFloat("money");
d.commit();
}
}
catch(Exception e)
{
System.out.print("查询余额出错!");
}
return mone;
}
public boolean login (String IC_Num, String pword) //登录
{
DBAccess d=new DBAccess();
try{
if(conTemp==null){
createConnection();
stmtTemp=conTemp.createStatement();
}
String strSQLSelect="SELECT IC_pw from IC WHERE IC_ID='"+IC_Num+"'";
ResultSet rsSQLSelect=d.executeQuery(strSQLSelect);
if(rsSQLSelect.next())
{ String pwd=rsSQLSelect.getString("IC_pw");
d.commit();
if(pword.equals(pwd))
{
return true;
}
}
}
catch(Exception e)
{
System.out.print("登录出错!");
}
return false;
}
public boolean alterpassword(String pword,String IC_Num) //修改密码
{
DBAccess d=new DBAccess();
try{
if(conTemp==null){
createConnection();
stmtTemp=conTemp.createStatement();
}
}
catch(Exception e){}
String strSQLUpdate="update IC set IC_pw="+pword+" WHERE IC_ID='"+IC_Num+"'";
boolean bol=d.executeUpdate(strSQLUpdate);
d.commit();
return bol;
}
public boolean setmoney(float moneys,String IC_Num) //取款
{
DBAccess d=new DBAccess();
float m;
try{
if(conTemp==null){
createConnection();
stmtTemp=conTemp.createStatement();
}
}
catch(Exception e){}
m=getmoney(IC_Num);
if(m>moneys)
{
m=m-moneys;
String strSQLUpdate="UPDATE IC Set money="+m+"WHERE IC_ID='"+IC_Num+"'";
d.executeUpdate(strSQLUpdate);
d.commit();
return true;
}
else
return false;
}
public boolean getname(String IC_Num) //用户信息查询
{
String aname="";
DBAccess d=new DBAccess();
try{
if(conTemp==null){
createConnection();
stmtTemp=conTemp.createStatement();
}
String strSQLSelect="SELECT IC_ID FROM IC WHERE IC_ID='"+IC_Num+"'";
ResultSet rsSQLSelect=d.executeQuery(strSQLSelect);
if(rsSQLSelect.next())
{
aname=rsSQLSelect.getString("IC_ID");
if(IC_Num.equals(aname))
return true;
}
}
catch(Exception e)
{
System.out.print("用户信息查询出错!");
}
return false;
}
JLabel t1=new JLabel("欢迎使用ATM机");
JLabel t2=new JLabel("请输入您的卡号:");
JLabel t3=new JLabel("");
JLabel t4=new JLabel("请输入您的密码:");
JLabel t5=new JLabel("");
JLabel t6=new JLabel("请选择您要的服务:");
JLabel t7=new JLabel("请选择您的取款金额:");
JLabel t8=new JLabel("请输入取款金额:");
JLabel t9=new JLabel("");
JLabel t10=new JLabel("操作成功!");
JLabel t11=new JLabel("您的取款额为:");
JLabel t12=new JLabel("");
JLabel t13=new JLabel("操作流水帐号:");
JLabel t14=new JLabel("");
JLabel t15=new JLabel("IC卡号:");
JLabel t16=new JLabel("");
JLabel t17=new JLabel("取款额:");
JLabel t18=new JLabel("");
JLabel t19=new JLabel("时间:");
JLabel t20=new JLabel("");
JLabel t21=new JLabel("请输入转入的帐号:");
JLabel t22=new JLabel("输入转帐金额:");
JLabel t23=new JLabel("");
JLabel t24=new JLabel("您的帐号为:");
JLabel t25=new JLabel("您的余额为:");
JLabel t26=new JLabel("请输入新密码:");
JLabel t27=new JLabel("确认新密码:");
JLabel t28=new JLabel("");
JLabel t29=new JLabel("");
JLabel t30=new JLabel("");
JLabel t31=new JLabel("所属银行:");
JLabel t32=new JLabel("");
JLabel t33=new JLabel("");
JButton z1=new JButton("进入");
JButton z2=new JButton("关闭");
JButton z3=new JButton("确认");
JButton z4=new JButton("退卡");
JButton z5=new JButton("确认");
JButton z6=new JButton("退卡");
JButton z7=new JButton("取款");
JButton z8=new JButton("余额查询");
JButton z9=new JButton("转帐");
JButton z10=new JButton("修改密码");
JButton z11=new JButton("退卡");
JButton z12=new JButton("确认");
JButton z13=new JButton("返回");
JButton z14=new JButton("打印");
JButton z15=new JButton("返回");
JButton z16=new JButton("退卡");
JButton z17=new JButton("返回");
JButton z18=new JButton("退卡");
JButton z19=new JButton("确认");
JButton z20=new JButton("返回");
JButton z21=new JButton("返回");
JButton z22=new JButton("退卡");
JButton z23=new JButton("100");
JButton z24=new JButton("200");
JButton z25=new JButton("300");
JButton z26=new JButton("500");
JButton z27=new JButton("其它");
JButton z28=new JButton("确认");
JButton z29=new JButton("返回");
JButton z30=new JButton("返回");
JPanel p1=new JPanel(); //主界面
JPanel a1=new JPanel();
JPanel a2=new JPanel();
JPanel a3=new JPanel();
JPanel p2=new JPanel(); //帐号输入界面
JPanel b1=new JPanel();
JPanel b2=new JPanel();
JPanel b3=new JPanel();
JPanel b4=new JPanel();
JPanel p3=new JPanel(); //密码输入界面
JPanel c1=new JPanel();
JPanel c2=new JPanel();
JPanel c3=new JPanel();
JPanel c4=new JPanel();
JPanel p4=new JPanel(); //选择服务界面
JPanel d1=new JPanel();
JPanel d2=new JPanel();
JPanel d3=new JPanel();
JPanel d4=new JPanel();
JPanel p5=new JPanel(); //选择金额界面
JPanel y1=new JPanel();
JPanel y2=new JPanel();
JPanel y3=new JPanel();
JPanel y4=new JPanel();
JPanel y5=new JPanel();
JPanel p6=new JPanel(); //取款界面
JPanel e1=new JPanel();
JPanel e2=new JPanel();
JPanel e3=new JPanel();
JPanel e4=new JPanel();
JPanel p7=new JPanel(); //取款成功界面
JPanel f1=new JPanel();
JPanel f2=new JPanel();
JPanel f3=new JPanel();
JPanel p8=new JPanel(); //打印界面
JPanel g1=new JPanel();
JPanel g2=new JPanel();
JPanel g3=new JPanel();
JPanel g4=new JPanel();
JPanel g5=new JPanel();
JPanel p9=new JPanel(); //转帐界面
JPanel h1=new JPanel();
JPanel h2=new JPanel();
JPanel h3=new JPanel();
JPanel h4=new JPanel();
JPanel p10=new JPanel(); //余额查询
JPanel m1=new JPanel();
JPanel m2=new JPanel();
JPanel m3=new JPanel();
JPanel m4=new JPanel();
JPanel p11=new JPanel(); //修改密码
JPanel n1=new JPanel();
JPanel n2=new JPanel();
JPanel n3=new JPanel();
JPanel n4=new JPanel();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -