?? 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 + -