if(Dao.addKhinfo(tbkhinfo)){
JOptionPane.showMessageDialog(null, "数据保存成功");
reset.doClick();
}
if括号里已经为真了, 大括号里的语句还是不执行
在里面加点输出语句 看看效果执行了没
没有什么好解释的啊,你确定是真么?
这个是java代码还是js代码!?
你是怎么判断if为真,又是怎么判断代码不执行的
Boolean b = Dao.addKhinfo(tbkhinfo);
system.out.println(b);
if(b){
system.out.println("in if statement");
JOptionPane.showMessageDialog(null, "数据保存成功");
reset.doClick();
}
看下输出什么。
JOptionPane 或reset未实例化
在大括号前输出个hello.world测试就好啦,如果不显示,那还是再确认一下if条件的可靠性了
如果是js代码,在你的代码前面debugger一下,看下Dao.addKhinfo(tbkhinfo)的结果是否为true,
debugger;
if(Dao.addKhinfo(tbkhinfo)){
JOptionPane.showMessageDialog(null, "数据保存成功");
reset.doClick();
}
如果是java代码,你就断点看下这个表达式的结果是不是true。
当然你也可以直接在大括号里写个输出语句看看是否输出。
你是不是还有别的判断,看看别的判断有没有问题,如果你确定这个判读是真的话;
你确定if是执行了的?最好在大括号中加个输出语句,确认if是否判断成功,
Dao.addKhinfo(tbkhinfo)打印出来,在if前面打印出来
确实为假,那么帮我看看问题出在那里
public static boolean addKhinfo(TbKehuinfo tbkhinfo){
if(tbkhinfo==null)
return false;
return insert("insert into tb_khinfo values('"+tbkhinfo.getId()+"'" +
",'"+tbkhinfo.getKhname()+"','"+tbkhinfo.getJian()+"'" +
",'"+tbkhinfo.getAddress()+"','"+tbkhinfo.getBianma()+"'" +
",'"+tbkhinfo.getTel()+"','"+tbkhinfo.getFax()+"'" +
",'"+tbkhinfo.getLian()+"','"+tbkhinfo.getLtel()+"'" +
",'"+tbkhinfo.getMail()+"','"+tbkhinfo.getYinhang()+"'" +
",'"+tbkhinfo.getHao()+"')");
}
public static boolean insert(String sql) {
boolean result = false;
try {
Statement stmt = conn.createStatement();
result = stmt.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
这 你觉得可能吗, 无论什么语言都不会出现你说的情况
Dao.addKhinfo(tbkhinfo)一般是void,可能就为false
你确定是真?在大括号里的语句里下个断点试试。
测试条件是否为真,加个输出
你确定if语句中是true吗?可以先打印出来看看