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 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(); 
 
  } 
 
  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; 
  } 
} 
 
    
  
  |