我有一個數據庫order
與price
和deposit
字段設置爲浮動類型。我也正在實施一個Java gui來搜索訂單,問題是當我嘗試搜索數據庫中的訂單時,我沒有找到任何東西,因爲當我從字符串轉換爲浮點數並將其保存爲數據庫時,它節省了價格= 55.0 55.問題是什麼? 我應該用什麼類型來表示貨幣從雙方,java方面和MySQL方面?mysql float type
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try{
//collect arguments
String category = this.jTextField8.getText();
String pattern=this.jTextArea1.getText();
String color=this.jTextArea2.getText();
float price = Float.valueOf(this.jTextField14.getText()).floatValue();
float deposit = Float.valueOf(this.jTextField15.getText()).floatValue();
//create new order
int row=this.customerSelectedRow;
Order newOrder=new order(this.customerModel.dataVector.get(row),category,pattern,color,price,deposit);
newOrder.search();
//refresh
this.jDialogNewOrder.setVisible(false);
}catch(Exception e){
System.err.println (" Error message: " + e.getMessage());
}
}
這裏是關於搜索方法
try {
s = c.conn.prepareStatement("SELECT id FROM `"+this.table+
"` WHERE customerId=? AND category=? and pattern=? and color=? and deposit=? and price=?");
s.setInt(1,this.customer.getId());
s.setString (2, this.category);
s.setString (3, this.pattern);
s.setString (4, this.color);
s.setFloat(5,this.deposit);
s.setFloat(6,this.price);
System.err.println(s.toString());
ResultSet res = s.executeQuery();
System.out.println("printing ids :");
while (res.next()) {
int i = res.getInt(1);
//assigning the correct id to the inserted customer
this.id=i;
System.out.println("id" + "=" + i);
}
} catch (SQLException e) {
System.err.println ("find id Error message: " + e.getMessage());
System.err.println ("find id Error number: " + e.getErrorCode());
非常好的答案。 :-) – 2009-12-03 15:20:19