Hi everybody,
 
Have someone had a problem like this one before?
 
If I have a simple table like:
 
create table test(id integer, percent numeric(5,2))
 
And I use a java code to insert data into this table:
 
////////////////////////////////////////////////////////////////////////////////
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
 
public class TestJavaDB{
 
 public TestJavaDB(){
  try{
   executeTest();
  } catch (SQLException e){
   e.printStackTrace();
  }
 }
 
 public void executeTest() throws SQLException{
  Connection conn = DriverManager.getConnection("jdbc:derby:C:/Derby20090108/data/", "root", "root");
  
  Float fltValue = 11.11F;
 
  String strQuery = "INSERT INTO test VALUES (?, ?)";
 
  PreparedStatement pstmt = conn.prepareStatement(strQuery);
  pstmt.setInt(1,new Integer(2));
  pstmt.setFloat(2,fltValue);
 
  pstmt.executeUpdate();
 
  pstmt.close();
  conn.close();
 }
 
 public static void main(String[] args){
  new TestJavaDB();
 }
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
The value inserted into the field percent in the database is 11.10 and not 11.11 as it would be.
 
But if I insert this data directly in the database using a script:
 
INSERT INTO test VALUES (1, 11.11);
 
The value appears correctly.
 
Is there any bug related to the derby jdbc library??
 
 
Thanks in advance,
Carlos