📄 draw.java
字号:
/*************光大银行储户提款****************/
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import java.math.*;
class Draw extends JFrame implements ActionListener{
Connection Con=null;
Statement Stmt=null;
JLabel lb=new JLabel("尊敬的储户你好! ");
JLabel lb_msg=new JLabel("感谢你选择光大银行!");
JLabel lb_input_account_no=new JLabel("请输入储户账号:"); //刷卡机自动读取
JTextField con_acco=new JTextField(15);
JLabel lb_input_draw_sum=new JLabel("请输入你要提取的金额:");
JTextField draw_sum=new JTextField(15);
JLabel lb_input_acco_pwd=new JLabel("请输入你的账户密码:");
JPasswordField con_pwd=new JPasswordField(15);
JButton bt_ack=new JButton("确认");
JButton bt_can=new JButton("取消");
Draw(){
super("光大银行欢迎你!感谢你对光大银行的支持!");
this.setBounds(250,250,450,200);
this.setVisible(true);
Container con=getContentPane();
con.setLayout(new FlowLayout());
con.setBounds(250,250,450,200);
JPanel p=new JPanel();
p.setLayout(new GridLayout(5,2));
p.add(lb); p.add(lb_msg);
p.add(lb_input_account_no); p.add(con_acco);
p.add(lb_input_draw_sum); p.add(draw_sum);
p.add(lb_input_acco_pwd); p.add(con_pwd);
p.add(bt_ack);
p.add(bt_can);
bt_ack.addActionListener(this);
bt_can.addActionListener(this);
con.add(p,"CENTER");
validate();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt_ack)
{
if(con_acco.getText().trim().equals("")||draw_sum.getText().trim().equals("")||con_pwd.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(this,"账号与取款金额、密码不能为空!","警告",JOptionPane.WARNING_MESSAGE);
} //判断输入框不能为空
else
{
con_drawing();
}
}
if(e.getSource()==bt_can)
{
dispose();
}
}
private void con_drawing(){
//con_drawing函数完成用户取款的处理
String _con_acco,_con_pwd,_con_drawsum,temp;
_con_drawsum=draw_sum.getText().trim();
float _draw_sum,remain;
_con_acco="'"+con_acco.getText().trim()+"'";
_con_pwd="'"+con_pwd.getText().trim()+"'";
_draw_sum=Float.parseFloat(_con_drawsum); //可能出现问题
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){System.out.println("DBClassNotFoundException:"+e.getMessage());}
try{
Con=DriverManager.getConnection("jdbc:odbc:Bankdb","","");
Stmt=Con.createStatement();
temp="select * from consumer where con_acco='"+con_acco.getText().trim()+"'"+"and con_pwd='"+con_pwd.getText().trim()+"'";
ResultSet rs=Stmt.executeQuery(temp);
boolean boo=false;
if(rs.next()) //查到该用户,否则该用户不存在,提示出错信息。
{//查到的数据为有效数据的前一行,首先读取用户的账户现余金额,判断是否超支;
//超支则报错,否则交易成功,用户提取款项;账户金额减少。
boo=true;
remain=Float.parseFloat(rs.getString("con_rema"));
if(remain >= _draw_sum)
{
remain=remain - _draw_sum;
String tmp="update consumer set con_rema='"+remain+"'"+"WHERE con_acco="+_con_acco; //一定要仔细认真,账户号写错:con_rema写成了con_remain
System.out.println(tmp);
Stmt.executeUpdate(tmp);
JOptionPane.showMessageDialog(this,"请接收你要提取的现金!\n 你的帐户余额为:'"+remain+"'","恭喜",JOptionPane.WARNING_MESSAGE);
dispose();
}
else
{
JOptionPane.showMessageDialog(this,"你的余额已不足!","温馨提示",JOptionPane.WARNING_MESSAGE);
dispose();
}
}
else
{
JOptionPane.showMessageDialog(this,"你输入的用户不存在!或密码不正确,请查证!","警告",JOptionPane.WARNING_MESSAGE);
}
Con.close();
}catch(SQLException e_6){System.out.println("SQLException:"+e_6.getMessage());}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -