Get Parameter Mode : Parameter MetaData « Database SQL JDBC « Java






Get Parameter Mode

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.Statement;

public class Main {
  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 {
      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 paramMode = paramMetaData.getParameterMode(param);
        System.out.println("param mode=" + paramMode);
        if (paramMode == ParameterMetaData.parameterModeOut) {
          System.out.println("the parameter's mode is OUT.");
        } else if (paramMode == ParameterMetaData.parameterModeIn) {
          System.out.println("the parameter's mode is IN.");
        } else if (paramMode == ParameterMetaData.parameterModeInOut) {
          System.out.println("the parameter's mode is INOUT.");
        } else {
          System.out.println("the mode of a parameter is unknown.");
        }
      }
    }

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

  }

  private static Connection getHSQLConnection() throws Exception {
    Class.forName("org.hsqldb.jdbcDriver");
    System.out.println("Driver Loaded.");
    String url = "jdbc:hsqldb:data/tutorial";
    return DriverManager.getConnection(url, "sa", "");
  }

  public static Connection getMySqlConnection() throws Exception {
    String driver = "org.gjt.mm.mysql.Driver";
    String url = "jdbc:mysql://localhost/demo2s";
    String username = "oost";
    String password = "oost";

    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, username, password);
    return conn;
  }

  public static Connection getOracleConnection() throws Exception {
    String driver = "oracle.jdbc.driver.OracleDriver";
    String url = "jdbc:oracle:thin:@localhost:1521:caspian";
    String username = "mp";
    String password = "mp2";

    Class.forName(driver); // load Oracle driver
    Connection conn = DriverManager.getConnection(url, username, password);
    return conn;
  }
}

           
       








GetParameterMode.zip( 3,848 k)

Related examples in the same category

1.Get Parameter Type Name
2.Work With Parameter MetaData
3.Is Parameter Nullable
4.Get Parameter Type Code
5.Get Paraemter Class Name
6.Get Parameter Count From Parameter MetaData