Java Tutorial/Database/ParameterMetaData

Материал из Java эксперт
Перейти к: навигация, поиск

Display Parameter information stored in the PreparedStatement

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
public class Main {
  public static void main(String[] args) throws Exception {
    Connection conn = getConnection();
    Statement st = conn.createStatement();
    st.executeUpdate("create table survey (id int,myDate DATE);");
    String INSERT_RECORD = "insert into survey(id, myDate) values(?, ?)";
    PreparedStatement pstmt = conn.prepareStatement(INSERT_RECORD);
    pstmt.setString(1, "1");
    java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());
    pstmt.setDate(2, sqlDate);
    pstmt.executeUpdate();
    System.out.println("The type of the first parameter is: "
        + pstmt.getParameterMetaData().getParameterTypeName(1));
    System.out.println(pstmt.getParameterMetaData().isNullable(1));
    conn.close();
  }
  private static Connection getConnection() throws Exception {
    Class.forName("org.hsqldb.jdbcDriver");
    String url = "jdbc:hsqldb:mem:data/tutorial";
    return DriverManager.getConnection(url, "sa", "");
  }
}





ParameterMetaData Methods for Property Information about Query Parameters

Metadata information for a PreparedStatement or CallableStatement.

  1. int getParameterCount()
  2. java.lang.String getParameterClassName(int param)
  3. int getParameterType(int param)
  4. java.lang.String getParameterTypeName(int param)
  5. int getPrecision(int param)
  6. int getScale(int param)
  7. int isNullable(int param)
  8. boolean isSigned(int param)