Ich habe eine Datenbank order
mit price
und deposit
Felder auf Float-Typ festgelegt. Ich implementiere auch eine Java-GUI, um die Bestellung zu durchsuchen, das Problem ist, wenn ich versuche, nach den Bestellungen in der Datenbank zu suchen, finde ich nichts, weil es Preis = 55.0 speichert, wenn ich von String zu Float und in der Datenbank es als speichert 55. Was ist das Problem? Welchen Typ sollte ich verwenden, um Währung von den zwei Seiten, Java Seite und MySQL Seite darzustellen?Mysql Float Typ
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());
}
}
hier ist der Code für das Suchverfahren
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());
Sehr gute Antwort. :-) –