我创建了一个访问数据库,其中包含可变货币字段。
然后在我的表单上添加了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)
任何人都可以向我解释这个问题,并建议我应该做些什么。
由于
答案 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();