⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transfer.java

📁 实现JSP开发的BBS源码
💻 JAVA
字号:
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


//转账功能
public class transfer extends JFrame implements ActionListener{
	private Statement st=null;
	private Connection con=null;
	private ResultSet rs=null;
	private String command=null;
	private boolean flag=true;
	private String getFromCardNum=null;
	private String getpswd=null;
	private String getToCardNum=null;
	private String getMoney=null;
	private String transFromMoney;
	private String transToMoney;	
	private JLabel transFromCardNumLabel=new JLabel("转出卡号:");
	private JTextField transFromCardNum=new JTextField(18);
	private JLabel transFromCardpswdLabel=new JLabel("转出口令:");
	private JPasswordField transFromCardpswd=new JPasswordField(8);
	private JLabel transToCardNumLabel=new JLabel("转入卡号:");
	private JTextField transToCardNum=new JTextField(18);
	private JLabel inputMoneyLabel=new JLabel("请输入要取款金额(50~2000)");
	private JTextField inputMoney=new JTextField(6);
	private JButton transferButton=new JButton("转账");
	private JButton close=new JButton("关闭");
	private JLabel resultLabel=new JLabel("操作结果");
	private JTextArea resultArea=new JTextArea(8,40);
	
	//无参构造方法
	public transfer(){
		setup();    //初始化面板
	} 
	
	//有参构造方法
	public transfer(String card,String pswd){
		setup();    //初始化面板
		transFromCardNum.setText(card);
		transFromCardpswd.setText(pswd);
	}
	////初始化面板方法
	public void setup(){
		setTitle("转  账");
		setSize(400,450);
		setLocation(300,400);
		setResizable(false);
		resultArea.setEditable(false);
		resultArea.setLineWrap(true);
		Container c=getContentPane();
		c.setLayout(null);
		c.add(transFromCardNumLabel);
		transFromCardNumLabel.setBounds(20,20,75,30);
		c.add(transFromCardNum);
		transFromCardNum.setBounds(80,20,250,30);
		c.add(transFromCardpswdLabel);
		transFromCardpswdLabel.setBounds(20,60,75,30);
		c.add(transFromCardpswd);
		transFromCardpswd.setBounds(80,60,250,30);
		c.add(transToCardNumLabel);
		transToCardNumLabel.setBounds(20,100,75,30);
		c.add(transToCardNum);
		transToCardNum.setBounds(80,100,250,30);
		c.add(inputMoneyLabel);		
		inputMoneyLabel.setBounds(100,140,250,30);
		c.add(inputMoney);
		inputMoney.setBounds(80,170,250,30);
		c.add(transferButton);
		transferButton.setBounds(120,220,60,40);
		c.add(close);
		close.setBounds(200,220,60,40);
		c.add(resultLabel);
		resultLabel.setBounds(160,250,60,50);
		JScrollPane scrollPane=new JScrollPane(resultArea);
		c.add(scrollPane);
		scrollPane.setBounds(20,290,320,80);
		transferButton.addActionListener(this);
		close.addActionListener(this);
		show();
	}
	
	//事件监听
	public void actionPerformed(ActionEvent ae){
		if(ae.getSource()==close){           //关闭按钮
			confirmDialog endOD=new confirmDialog(this,"结束操作","真的要结束转账吗?");
			if(endOD.isOkay){
			   hide();
			}
		}
		else if(ae.getSource()==transferButton){  //转账按钮
			flag=true;
			
			//获取输入内容
			getFromCardNum=transFromCardNum.getText().trim();
			getpswd=transFromCardpswd.getText().trim();
			getToCardNum=transToCardNum.getText().trim();
			getMoney=inputMoney.getText().trim();
			
			//判断输入转出卡号和密码是否为空
			if(getFromCardNum.equals("")==true&&getpswd.equals("")==true){
				JOptionPane.showMessageDialog(null,"请输入卡号和密码!");
			}
			
			//判断输入转入卡号和密码是否为空
			else if(getToCardNum.equals("")==true){
				JOptionPane.showMessageDialog(null,"请输入要转入的卡号!");
			}
			
			//判断输入转账金额是否为空
			else if(getMoney.equals("")==true){
				JOptionPane.showMessageDialog(null,"请输入要转出的金额!");
			}
			else{    //查询卡号是否存在
				command="select * from cardTable where userCardNum='"+getFromCardNum+"'";
				try{
					st=connectDB.conDB(); //连接数据库
					con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BSMS","sa","5201314");
					rs=st.executeQuery(command);
					if(rs.next()){
						String pswdValue=rs.getString("code").trim();
						String moneyValue=rs.getString("balance").trim();
						int moneyInCardValue=Integer.parseInt(moneyValue);
						int getMoneyValue=Integer.parseInt(getMoney);
						if(moneyInCardValue<getMoneyValue){
							JOptionPane.showMessageDialog(null,"卡上余额不足!");//看余额足否
							flag=false;
						}
						if(pswdValue.equals(getpswd)==true){  //判断密码和卡号是否匹配
							if(flag){  //判断转入卡号是否存在和转账
								int sum=moneyInCardValue-getMoneyValue;
								command="select * from cardTable where userCardNum='"+getToCardNum+"'";
								try{
									rs=st.executeQuery(command);
									if(rs.next()){
										transToMoney=rs.getString("balance").trim();										
									}
									else{
										JOptionPane.showMessageDialog(null,"要转入的卡号不存在");
										flag=false;
									}
								}catch(SQLException ex){
									while(ex!=null){
										JOptionPane.showMessageDialog(null,ex);
										ex.getNextException();
										return;
									}
								}
								transFromMoney=Integer.toString(sum);
								command="update cardTable set balance='"+transFromMoney+"' where userCardNum='"+getFromCardNum+"'";//更新数据库
								try{
									st.executeUpdate(command);            //转出卡号数据更新
									
									//输出操作结果
									resultArea.append("转出卡号:"+getFromCardNum+"\n");
									resultArea.append("转出:"+getMoney+"\n");
									resultArea.append("当前余额:"+transFromMoney+"\n");									
								}catch(SQLException ex){
									while(ex!=null){
										JOptionPane.showMessageDialog(null,ex);
										ex.getNextException();
										return;
									}
								}
					            int transInCardMoneyValue=Integer.parseInt(transToMoney);
					            int transInCardSumMoneyValue=transInCardMoneyValue+getMoneyValue;
								transToMoney=Integer.toString(transInCardSumMoneyValue);
								command="update cardTable set balance='"+transToMoney+"' where userCardNum='"+getToCardNum+"'";//更新数据库
							    try{
							    	st.executeUpdate(command);       //转入卡号数据更新
							    	
							    	//输出操作结果
							    	resultArea.append("转入卡号:"+getToCardNum+"\n");
							    	resultArea.append("转入:"+getMoney+"系统提示:操作成功完成!\n");
							    	resultArea.append("当前余额:"+transToMoney+"\n");
							    	JOptionPane.showMessageDialog(null,"交易成功!");							    	
							    }catch(SQLException ex){
							    	while(ex!=null){
							    		JOptionPane.showMessageDialog(null,ex);
							    		ex.getNextException();
							    		return;
							    	}
							    	
							    }
							}
						}
						else{
							//卡号密码不一致
							JOptionPane.showMessageDialog(null,"卡号和密码不一致!");
							flag=false;
							confirmDialog reEnter=new confirmDialog(this,"重新输入","重新输入卡号和密码?");
							if(reEnter.isOkay){
								flag=true;
							}
							else{
								transfer.this.hide();
							}
						}
					}
					else{
						JOptionPane.showMessageDialog(null,"卡号不存在!");
						flag=false;
						confirmDialog reEnter=new confirmDialog(this,"重新输入","重新输入卡号和密码?");
						if(reEnter.isOkay){
							flag=true;
						}
						else{
							transfer.this.hide();
						}
					}
				}catch(SQLException ex){
					while(ex!=null){
						JOptionPane.showMessageDialog(null,ex);
						resultArea.append(ex+"\n");
				    	ex.getNextException();
				    	return;
					}
				}
			}
		closeDB.closeDB(st,con);
		}
	}
	public static void main(String args[]){
	 	transfer transferMoney=new transfer();
	}
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -