从格式化文本字段获取或保存值以访问数据库时出错

时间:2014-02-12 18:00:42

标签: java ms-access netbeans jformattedtextfield

我创建了一个访问数据库,其中包含可变货币字段。

然后在我的表单上添加了FormattedTextField,我使用以下代码将数据保存到我的数据库中。

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
    // TODO add your handling code here:
    String tDate = transDate.getText();
    String rCash = reportCash.getText();
    String sCash = sideCash.getText();
    String poCash = paidOutCash.getText();
    String hPlus = hotelPlus.getText();
    String tDrop = totalDrop.getText();

    try
    {
        rs.moveToInsertRow();
        rs.updateString("TransDate", tDate);
        rs.updateDouble("ReportCash", rCash);
        rs.updateDouble("SideCash", sCash);
        rs.updateDouble("PaidOutCash", poCash);
        rs.updateDouble("HotelPlus", hPlus);
        rs.updateDouble("DropAmount", tDrop);
        rs.insertRow();
        st.close();
        rs.close();

        st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                ResultSet.CONCUR_UPDATABLE);
        String sql = "select * from monthlyReport";
        rs = st.executeQuery(sql);

        rs.next();

    }catch(Exception ex) { JOptionPane.showMessageDialog(null, ex); }
} 

但我收到错误:

rs.updateDouble("ReportCash", rCash);
rs.updateDouble("SideCash", sCash);
rs.updateDouble("PaidOutCash", poCash);
rs.updateDouble("HotelPlus", hPlus);
rs.updateDouble("DropAmount", tDrop);

错误是:

找不到适合updateDouble的方法(String,String) 方法ResultSet.updateDouble(int,double)不适用 (参数不匹配; String不能转换为int) 方法ResultSet.updateDouble(String,double)不适用 (参数不匹配; String不能转换为double)

任何人都可以向我解释这个问题,并建议我应该做些什么。

由于

1 个答案:

答案 0 :(得分:1)

你需要改变这些:

String rCash = reportCash.getText();
String sCash = sideCash.getText();
String poCash = paidOutCash.getText();
String hPlus = hotelPlus.getText();
String tDrop = totalDrop.getText();

它们都被格式化为String,您需要将它们更改为Number:

Number rCash = reportCash.getText();
Number sCash = sideCash.getText();
Number poCash = paidOutCash.getText();
Number hPlus = hotelPlus.getText();
Number tDrop = totalDrop.getText();