我有一個方法,在一類名爲ProductInsert如下:方法返回空值,數據庫語句
public float insertPrice() {
try {
System.out.println("Enter Product Price:");
setProductPrice(scanFloat.nextFloat());
}catch (InputMismatchException e){
System.out.println("Invalid Input!");
new ProductInsert().insertPrice();
}
return getProductPrice();
}
我有另一個類名爲ProductServices,用下面的預處理語句的數據庫執行:
PreparedStatement pstm = con.prepareStatement(insertQuery);
pstm.setFloat(2, insertPrice());
所以當用戶在詢問價格時輸入字符串值「asdfad」時,它會返回InputMismatch異常並再次調用insertPrice方法。並且在第二次調用它的情況下,並且用戶輸入浮點值「230.00」時,pstm.setfloat獲得空值並在數據庫中插入「0.00」而不是「230.00」。爲什麼???
setter和getter產品價格:
public float getProductPrice() {
return productPrice;
}
public void setProductPrice(float productPrice) {
this.productPrice = productPrice;
}
顯示'setProductPrice()'和'getProductPrice()' – 2015-04-02 16:48:24