java和access连接的ATM取款机怎么取不出钱的
这是我的取钱的那个类:帮忙看看那里错了,抛出异常是指针为空。
import java.sql.*;
import java.util.*;
import javax.swing.*;
public class fangfa
{
public void updateStu(int amoney,int ZH)
{
Connection con=null;
Conn cc=new Conn();
try{
mima m=new mima();
int mn=m.getmoney();//吧数据库里的数去出来的
con=cc.getConn();
PreparedStatement ps=con.prepareStatement("update xinxi set amoney=mn-" +amoney+ " where zhanghao=ZH");//在原来的基础上减去传进来的参数
ps.setInt(1,amoney);
ps.setInt(2,ZH);
int n = ps.executeUpdate();
if(n>0) {
JOptionPane.showMessageDialog(null,"取款成功!");
}else {
JOptionPane.showMessageDialog(null,"取款失败!");
}
con.commit();
ps.close();
}catch(Exception e){
System.out.println("错误!");
e.printStackTrace();
}
finally{cc.closeConn(con);}
}
这是我的取钱的那个类:帮忙看看那里错了,抛出异常是指针为空。
import java.sql.*;
import java.util.*;
import javax.swing.*;
public class fangfa
{
public void updateStu(int amoney,int ZH)
{
Connection con=null;
Conn cc=new Conn();
try{
mima m=new mima();
int mn=m.getmoney();//吧数据库里的数去出来的
con=cc.getConn();
PreparedStatement ps=con.prepareStatement("update xinxi set amoney=mn-" +amoney+ " where zhanghao=ZH");//在原来的基础上减去传进来的参数
ps.setInt(1,amoney);
ps.setInt(2,ZH);
int n = ps.executeUpdate();
if(n>0) {
JOptionPane.showMessageDialog(null,"取款成功!");
}else {
JOptionPane.showMessageDialog(null,"取款失败!");
}
con.commit();
ps.close();
}catch(Exception e){
System.out.println("错误!");
e.printStackTrace();
}
finally{cc.closeConn(con);}
}
PreparedStatement ps=con.prepareStatement("update xinxi set amoney=mn-" +amoney+ " where zhanghao=ZH");//在原来的基础上减去传进来的参数
ps.setInt(1,amoney);
ps.setInt(2,ZH);
sql里都没有“?”,你怎么还能set呢?
int mn=m.getmoney();//吧数据库里的数去出来的
你这个 new 又getmoney 怎么看都是NULL或者0
何来-- 吧数据库里的数去出来的 ?