Ciao a tutti, ho del codice che credevo mi desse errore ed invece funziona.
Mi viene il dubbio di non aver capito qualcosa :

Creo un DB con campi numeric, pensavo che la query dovesse essere del tipo "setInt" e di dover convertire io le stringhe in int.
Invece, se la stringa è convertibile fa tutto da solo con "setString", ovviamente se la stringa contiene caratteri da errore.
Uso driver org.apache.derby.

codice:
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
            String url = "jdbc:derby:SYSTEM/infoDb;create=true;user=**;password=**";
            Connection conn = DriverManager.getConnection(url);
            conn.setAutoCommit(false);
            java.sql.Statement exe = conn.createStatement();


String QueryString = "CREATE TABLE APP.TABELLA1" + "( ID NUMERIC(10),COD  VARCHAR(50),NOME NUMERIC(10))";
int rs1 = exe.executeUpdate(QueryString);

String id="1";
String cod="CODICE"; 
String nome= "1";

String QueryString2 = "insert INTO APP.TABELLA1 (ID,COD,NOME) values(?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(QueryString2);
                    pstmt.setString(1, id);
                    pstmt.setString(2, cod);
                    pstmt.setString(3, nome);
                    pstmt.executeUpdate();
Il mio dubbio è, se non sia più corretto fare una cosa del genere


codice:
int id=Integer.parseInt("1");
String cod="CODICE"; 
int nome=Integer.parseInt("1");

String QueryString2 = "insert INTO APP.TABELLA1 (ID,COD,NOME) values(?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(QueryString2);
                    pstmt.setInt(1, id);
                    pstmt.setString(2, cod);
                    pstmt.setInt(3, nome);
                    pstmt.executeUpdate();
o è ininfluente ?

Grazie.