Example usage for java.sql ParameterMetaData parameterNullable

List of usage examples for java.sql ParameterMetaData parameterNullable

Introduction

In this page you can find the example usage for java.sql ParameterMetaData parameterNullable.

Prototype

int parameterNullable

To view the source code for java.sql ParameterMetaData parameterNullable.

Click Source Link

Document

The constant indicating that a parameter will allow NULL values.

Usage

From source file:Main.java

public static void main(String[] args) throws Exception {
    Connection conn = getHSQLConnection();
    System.out.println("Got Connection.");
    Statement st = conn.createStatement();
    st.executeUpdate("create table survey (id int,name varchar);");
    st.executeUpdate("create view surveyView as (select * from survey);");
    st.executeUpdate("insert into survey (id,name ) values (1,'nameValue')");

    PreparedStatement pstmt = null;
    ParameterMetaData paramMetaData = null;
    String query = "select * from survey where id > ? and name = ?";
    pstmt = conn.prepareStatement(query);
    paramMetaData = pstmt.getParameterMetaData();
    if (paramMetaData == null) {
        System.out.println("db vendor does NOT support ParameterMetaData");
    } else {//from   ww w  .j a  v  a  2  s.com
        System.out.println("db vendor supports ParameterMetaData");
        // find out the number of dynamic parameters
        int paramCount = paramMetaData.getParameterCount();
        System.out.println("paramCount=" + paramCount);
        System.out.println("-------------------");
        for (int param = 1; param <= paramCount; param++) {
            System.out.println("param number=" + param);
            int nullable = paramMetaData.isNullable(param);
            if (nullable == ParameterMetaData.parameterNoNulls) {
                System.out.println("parameter will not allow NULL values.");
            } else if (nullable == ParameterMetaData.parameterNullable) {
                System.out.println("parameter will allow NULL values.");
            } else {
                System.out.println("nullability of a parameter is unknown.");
            }
        }
    }

    pstmt.close();
    conn.close();

}

From source file:com.tesora.dve.db.mysql.MysqlNative.java

@Override
public ColumnMetadata getParameterColumnInfo(ParameterMetaData pmd, int colIdx) throws SQLException {
    ColumnMetadata out = new ColumnMetadata();
    out.setDataType(pmd.getParameterType(colIdx));
    out.setPrecision(pmd.getPrecision(colIdx));
    out.setScale(pmd.getScale(colIdx));/*from  w  w w.  j  a  va  2s .c o m*/
    if (ParameterMetaData.parameterNullable == pmd.isNullable(colIdx))
        out.setNullable(Boolean.TRUE);
    out.setTypeName(NativeType.fixName(pmd.getParameterTypeName(colIdx)));
    return out;
}