通过java swing将数据插入数据库

时间:2016-04-03 06:45:08

标签: java mysql jdbc

try
    {           
        String rID=rid.getText();
        String cID=cid.getText();
        double Rcharge=Double.parseDouble(rc.getText());
        double Mcharge=Double.parseDouble(mc.getText());
        double total=Double.parseDouble(tot.getText());
        double sum=Double.parseDouble(cash.getText());
        double change=Double.parseDouble(bal.getText());

        if(c_but.isSelected())
        {
                String sql ="INSERT INTO transactions(reservation_id,cus_id,room_charges,meal_charges,total_amount,cash,balance,payment_type) VALUES ('"+rID+"','"+cID+"','"+Rcharge+"','"+Mcharge+"','"+total+"','"+sum+"','"+change+"','CASH')" ;
                pst=conn.prepareStatement(sql);
                pst.execute();

       }
        else if(cre_but.isSelected())
        {
               String sql2 ="INSERT INTO transactions(reservation_id,cus_id,room_charges,meal_charges,total_amount,payment_type) VALUES ('"+rID+"','"+cID+"','"+Rcharge+"','"+Mcharge+"','"+total+"','CRED')" ;
               pst=conn.prepareStatement(sql2);
               pst.execute();           
        }           
}   
catch(Exception e){           
}

我创建上面的代码将数据插入到mysql数据库中。 c_butcre_but是单选按钮。 没有语法错误。 但我从界面添加的值不会转到表格。任何人都可以找到错误吗?

2 个答案:

答案 0 :(得分:0)

我认为有一些异常被抛出,但由于空的catch-block而不可见,所以它的行为就像程序成功完成一样。 像这样重写catch-block:

catch(Exception e){
    throw e;     
}

你可能会看到问题所在。

答案 1 :(得分:0)

如果出现任何问题,这段代码并没有告诉你什么。

我建议你:

  • 将错误记录或throw new RuntimeError(e)添加到catch块
  • 如果未满足任何条件(c_butcre_but),则抛出错误或添加调试日志(取决于您的应用程序的逻辑)

如果您根据所获得的其他信息找不到或了解错误,则可以使用这些其他详细信息编辑问题。没有它,任何人都无法帮助你。

在不相关的说明中,我强烈建议您阅读SQL Injection上的内容。