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.
Il mio dubbio è, se non sia più corretto fare una cosa del generecodice: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();
o è ininfluente ?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();
Grazie.

Rispondi quotando