This is an example of using the ParameterMetaData interface to retrieve information about parameters.
////////////////////////////////////////////////////////////////////////////////// // // ParameterMetaData example. This program demonstrates // the new support of JDBC 3.0 for learning information // about parameters to a PreparedStatement. // // Command syntax: // java PMD // ////////////////////////////////////////////////////////////////////////////////// // // This source is an example of the IBM Developer for Java JDBC driver. // IBM grants you a nonexclusive license to use this as an example // from which you can generate similar function tailored to // your own specific needs. // // This sample code is provided by IBM for illustrative purposes // only. These examples have not been thoroughly tested under all // conditions. IBM, therefore, cannot guarantee or imply // reliability, serviceability, or function of these programs. // // All programs contained herein are provided to you "AS IS" // without any warranties of any kind. The implied warranties of // merchantability and fitness for a particular purpose are // expressly disclaimed. // // IBM Developer Kit for Java // (C) Copyright IBM Corp. 2001 // All rights reserved. // US Government Users Restricted Rights - // Use, duplication, or disclosure restricted // by GSA ADP Schedule Contract with IBM Corp. // ////////////////////////////////////////////////////////////////////////////////// import java.sql.*; public class PMD { // Program entry point. public static void main(java.lang.String[] args) throws Exception { // Obtain setup. Class.forName("com.ibm.db2.jdbc.app.DB2Driver"); Connection c = DriverManager.getConnection("jdbc:db2:*local"); PreparedStatement ps = c.prepareStatement("INSERT INTO CUJOSQL.MYTABLE VALUES(?, ?, ?)"); ParameterMetaData pmd = ps.getParameterMetaData(); for (int i = 1; i < pmd.getParameterCount(); i++) { System.out.println("Parameter number " + i); System.out.println(" Class name is " + pmd.getParameterClassName(i)); // Note: Mode relates to input, output or inout System.out.println(" Mode is " + pmd.getParameterClassName(i)); System.out.println(" Type is " + pmd.getParameterType(i)); System.out.println(" Type name is " + pmd.getParameterTypeName(i)); System.out.println(" Precision is " + pmd.getPrecision(i)); System.out.println(" Scale is " + pmd.getScale(i)); System.out.println(" Nullable? is " + pmd.isNullable(i)); System.out.println(" Signed? is " + pmd.isSigned(i)); } } }