Muchas veces en nuestra base de datos tenemos procedimientos almacenad0s que reciben parámetros, y alguno de éstos debe ser enviado como nulo (Null/NullDB). En java ya sea que estemos utilizando un CallableStatement o PrepareStatement podemos enviar de un modo bastante elegante.
Tradicionalemente enviamos de este modo los parametros:
PreparedStatement ps = conn.prepareStatement("{ call NuestroSP (?, ?) }");
ps.setInt(1, 3);
ps.setString(1, "devtroce");
Ahora si deseamos enviar el primer parámetro con valor nulo, podemos hacer del siguiente modo, basándonos es el código anterior:
PreparedStatement ps = conn.prepareStatement("{ call NuestroSP (?, ?) }");
ps.setNull(1, java.sql.Types.INTEGER);
ps.setString(1, "devtroce");
Les dejo la tabla de los equivalentes de java.sql.Types con los tipos de datos de las bases de datos..
| java.sql.Types | SQL Types |
|---|---|
| BIGINT | BIGINT |
| BINARY | CHAR FOR BIT DATA |
| BIT | CHAR FOR BIT DATA |
| BLOB | BLOB (JDBC 2.0 and up) |
| CHAR | CHAR |
| CLOB | CLOB (JDBC 2.0 and up) |
| DATE | DATE |
| DECIMAL | DECIMAL |
| DOUBLE | DOUBLE PRECISION |
| FLOAT | DOUBLE PRECISION |
| INTEGER | INTEGER |
| LONGVARBINARY | LONG VARCHAR FOR BIT DATA |
| LONGVARCHAR | LONG VARCHAR |
| NULL | Not a data type; always a value of a particular type |
| NUMERIC | DECIMAL |
| REAL | REAL |
| SMALLINT | SMALLINT |
| SQLXML | XML |
| TIME | TIME |
| TIMESTAMP | TIMESTAMP |
| VARBINARY | VARCHAR FOR BIT DATA |
| VARCHAR | VARCHAR |
Articulos Relacionados:









en
en
en
en
Sin Comentarios aun, puedes tú ser el primero en comentar!
Deja tu Comentario