⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdbcdatabasemetadata.java

📁 一个可以在applet窗体上持行sql语句并显示返回结果的程序
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
	 *      a result of zero means that there is no limit or the limit is not known
   */
  public int getMaxStatements() {
    if(Trace.TRACE) Trace.trace();
    return 0;
  }
  /**
   * What's the maximum length of a table name?
   *
   * @return max name length in bytes;
	 *      a result of zero means that there is no limit or the limit is not known
   */
  public int getMaxTableNameLength() {
    if(Trace.TRACE) Trace.trace();
    return 0;
  }
  /**
   * What's the maximum number of tables in a SELECT statement?
   *
   * @return the maximum number of tables allowed in a SELECT statement;
	 *      a result of zero means that there is no limit or the limit is not known
   */
  public int getMaxTablesInSelect() {
    if(Trace.TRACE) Trace.trace();
    return 0;
  }
  /**
   * What's the maximum length of a user name?
   *
   * @return max user name length  in bytes;
	 *      a result of zero means that there is no limit or the limit is not known
   */
  public int getMaxUserNameLength() {
    if(Trace.TRACE) Trace.trace();
    return 0;
  }
  /**
   * What's the database's default transaction isolation level?  The
   * values are defined in <code>java.sql.Connection</code>.
   *
   * @return the default isolation level
   * @see Connection
   */
  public int getDefaultTransactionIsolation() {
    if(Trace.TRACE) Trace.trace();
    return Connection.TRANSACTION_READ_UNCOMMITTED;
  }
  /**
   * Are transactions supported? If not, invoking the method
	 * <code>commit</code> is a noop and the
   * isolation level is TRANSACTION_NONE.
   *
   * @return <code>true</code> if transactions are supported; <code>false</code> otherwise
   */
  public boolean supportsTransactions() {
    if(Trace.TRACE) Trace.trace();
    return true;
  }
  /**
   * Does this database support the given transaction isolation level?
   *
   * @param level the values are defined in <code>java.sql.Connection</code>
   * @return <code>true</code> if so; <code>false</code> otherwise
   * @see Connection
   */
  public boolean supportsTransactionIsolationLevel(int level) {
    if(Trace.TRACE) Trace.trace();
    return level==Connection.TRANSACTION_READ_UNCOMMITTED;
  }
  /**
   * Are both data definition and data manipulation statements
   * within a transaction supported?
   *
   * @return <code>true</code> if so; <code>false</code> otherwise
   */
  public boolean supportsDataDefinitionAndDataManipulationTransactions() {
    if(Trace.TRACE) Trace.trace();
    return false;
  }
  /**
   * Are only data manipulation statements within a transaction
   * supported?
   *
   * @return <code>true</code> if so; <code>false</code> otherwise
   */
  public boolean supportsDataManipulationTransactionsOnly() {
    if(Trace.TRACE) Trace.trace();
    return true;
  }
  /**
   * Does a data definition statement within a transaction force the
   * transaction to commit?
   *
   * @return <code>true</code> if so; <code>false</code> otherwise
   */
  public boolean dataDefinitionCausesTransactionCommit() {
    if(Trace.TRACE) Trace.trace();
    return true;
  }
  /**
   * Is a data definition statement within a transaction ignored?
   *
   * @return <code>true</code> if so; <code>false</code> otherwise
   */
  public boolean dataDefinitionIgnoredInTransactions() {
    if(Trace.TRACE) Trace.trace();
    return false;
  }
  /**
   * Gets a description of the stored procedures available in a
   * catalog.
   *
   * <P>Only procedure descriptions matching the schema and
   * procedure name criteria are returned.  They are ordered by
   * PROCEDURE_SCHEM, and PROCEDURE_NAME.
   *
   * <P>Each procedure description has the the following columns:
   *  <OL>
   *	<LI><B>PROCEDURE_CAT</B> String => procedure catalog (may be null)
   *	<LI><B>PROCEDURE_SCHEM</B> String => procedure schema (may be null)
   *	<LI><B>PROCEDURE_NAME</B> String => procedure name
   *  <LI> reserved for future use
   *  <LI> reserved for future use
   *  <LI> reserved for future use
   *	<LI><B>REMARKS</B> String => explanatory comment on the procedure
   *	<LI><B>PROCEDURE_TYPE</B> short => kind of procedure:
   *      <UL>
   *      <LI> procedureResultUnknown - May return a result
   *      <LI> procedureNoResult - Does not return a result
   *      <LI> procedureReturnsResult - Returns a result
   *      </UL>
   *  </OL>
   *
   * @param catalog a catalog name; "" retrieves those without a
   * catalog; null means drop catalog name from the selection criteria
   * @param schemaPattern a schema name pattern; "" retrieves those
   * without a schema
   * @param procedureNamePattern a procedure name pattern
   * @return ResultSet - each row is a procedure description
   * @exception SQLException if a database access error occurs
   * @see #getSearchStringEscape
   */
  public ResultSet getProcedures(String catalog,String schemaPattern,
  String procedureNamePattern) throws SQLException {
    // currently no records for any pattern
    return executeSelect("SYSTEM_PROCEDURES",null);
  }
  /**
   * Gets a description of a catalog's stored procedure parameters
   * and result columns.
   *
   * <P>Only descriptions matching the schema, procedure and
   * parameter name criteria are returned.  They are ordered by
   * PROCEDURE_SCHEM and PROCEDURE_NAME. Within this, the return value,
   * if any, is first. Next are the parameter descriptions in call
   * order. The column descriptions follow in column number order.
   *
   * <P>Each row in the ResultSet is a parameter description or
   * column description with the following fields:
   *  <OL>
   *	<LI><B>PROCEDURE_CAT</B> String => procedure catalog (may be null)
   *	<LI><B>PROCEDURE_SCHEM</B> String => procedure schema (may be null)
   *	<LI><B>PROCEDURE_NAME</B> String => procedure name
   *	<LI><B>COLUMN_NAME</B> String => column/parameter name
   *	<LI><B>COLUMN_TYPE</B> Short => kind of column/parameter:
   *      <UL>
   *      <LI> procedureColumnUnknown - nobody knows
   *      <LI> procedureColumnIn - IN parameter
   *      <LI> procedureColumnInOut - INOUT parameter
   *      <LI> procedureColumnOut - OUT parameter
   *      <LI> procedureColumnReturn - procedure return value
   *      <LI> procedureColumnResult - result column in ResultSet
   *      </UL>
   *  <LI><B>DATA_TYPE</B> short => SQL type from java.sql.Types
   *	<LI><B>TYPE_NAME</B> String => SQL type name, for a UDT type the
   *  type name is fully qualified
   *	<LI><B>PRECISION</B> int => precision
   *	<LI><B>LENGTH</B> int => length in bytes of data
   *	<LI><B>SCALE</B> short => scale
   *	<LI><B>RADIX</B> short => radix
   *	<LI><B>NULLABLE</B> short => can it contain NULL?
   *      <UL>
   *      <LI> procedureNoNulls - does not allow NULL values
   *      <LI> procedureNullable - allows NULL values
   *      <LI> procedureNullableUnknown - nullability unknown
   *      </UL>
   *	<LI><B>REMARKS</B> String => comment describing parameter/column
   *  </OL>
   *
   * <P><B>Note:</B> Some databases may not return the column
   * descriptions for a procedure. Additional columns beyond
   * REMARKS can be defined by the database.
   *
   * @param catalog a catalog name; "" retrieves those without a
   * catalog; null means drop catalog name from the selection criteria
   * @param schemaPattern a schema name pattern; "" retrieves those
   * without a schema
   * @param procedureNamePattern a procedure name pattern
   * @param columnNamePattern a column name pattern
   * @return ResultSet - each row describes a stored procedure parameter or
   *      column
   * @exception SQLException if a database access error occurs
   * @see #getSearchStringEscape
   */
  public ResultSet getProcedureColumns(String catalog,String schemaPattern,
  String procedureNamePattern,String columnNamePattern) throws SQLException {
    // currently no records for any pattern
    return executeSelect("SYSTEM_PROCEDURECOLUMNS",null);
  }
  /**
   * Gets a description of tables available in a catalog.
   *
   * <P>Only table descriptions matching the catalog, schema, table
   * name and type criteria are returned.  They are ordered by
   * TABLE_TYPE, TABLE_SCHEM and TABLE_NAME.
   *
   * <P>Each table description has the following columns:
   *  <OL>
   *	<LI><B>TABLE_CAT</B> String => table catalog (may be null)
   *	<LI><B>TABLE_SCHEM</B> String => table schema (may be null)
   *	<LI><B>TABLE_NAME</B> String => table name
   *	<LI><B>TABLE_TYPE</B> String => table type.  Typical types are "TABLE",
   *			"VIEW",	"SYSTEM TABLE", "GLOBAL TEMPORARY",
   *			"LOCAL TEMPORARY", "ALIAS", "SYNONYM".
   *	<LI><B>REMARKS</B> String => explanatory comment on the table
   *  </OL>
   *
   * <P><B>Note:</B> Some databases may not return information for
   * all tables.
   *
   * @param catalog a catalog name; "" retrieves those without a
   * catalog; null means drop catalog name from the selection criteria
   * @param schemaPattern a schema name pattern; "" retrieves those
   * without a schema
   * @param tableNamePattern a table name pattern
   * @param types a list of table types to include; null returns all types
   * @return ResultSet - each row is a table description
   * @exception SQLException if a database access error occurs
   * @see #getSearchStringEscape
   */
  public ResultSet getTables(String catalog,String schemaPattern,
  String tableNamePattern,String[] types) throws SQLException {
    String table="SYSTEM_TABLES";
    String where=null;
    if(tableNamePattern!=null) {
      where="TABLE_NAME LIKE '"+tableNamePattern+"'";
    }
    // todo: types pattern
    return executeSelect(table,where);
  }
  /**
   * Gets the schema names available in this database.  The results
   * are ordered by schema name.
   *
   * <P>The schema column is:
   *  <OL>
   *	<LI><B>TABLE_SCHEM</B> String => schema name
   *  </OL>
   *
   * @return ResultSet - each row has a single String column that is a
   * schema name
   * @exception SQLException if a database access error occurs
   */
  public ResultSet getSchemas() throws SQLException {
    return executeSelect("SYSTEM_SCHEMAS",null);
  }
  /**
   * Gets the catalog names available in this database.  The results
   * are ordered by catalog name.
   *
   * <P>The catalog column is:
   *  <OL>
   *	<LI><B>TABLE_CAT</B> String => catalog name
   *  </OL>
   *
   * @return ResultSet - each row has a single String column that is a
   * catalog name
   * @exception SQLException if a database access error occurs
   */
  public ResultSet getCatalogs() throws SQLException {
    return executeSelect("SYSTEM_CATALOGS",null);
  }
  /**
   * Gets the table types available in this database.  The results
   * are ordered by table type.
   *
   * <P>The table type is:
   *  <OL>
   *	<LI><B>TABLE_TYPE</B> String => table type.  Typical types are "TABLE",
   *			"VIEW",	"SYSTEM TABLE", "GLOBAL TEMPORARY",
   *			"LOCAL TEMPORARY", "ALIAS", "SYNONYM".
   *  </OL>
   *
   * @return ResultSet - each row has a single String column that is a
   * table type
   * @exception SQLException if a database access error occurs
   */
  public ResultSet getTableTypes() throws SQLException {
    return executeSelect("SYSTEM_TABLETYPES",null);
  }
  /**
   * Gets a description of table columns available in
   * the specified catalog.
   *
   * <P>Only column descriptions matching the catalog, schema, table
   * and column name criteria are returned.  They are ordered by
   * TABLE_SCHEM, TABLE_NAME and ORDINAL_POSITION.
   *
   * <P>Each column description has the following columns:
   *  <OL>
   *	<LI><B>TABLE_CAT</B> String => table catalog (may be null)
   *	<LI><B>TABLE_SCHEM</B> String => table schema (may be null)
   *	<LI><B>TABLE_NAME</B> String => table name
   *	<LI><B>COLUMN_NAME</B> String => column name
   *	<LI><B>DATA_TYPE</B> short => SQL type from java.sql.Types
   *	<LI><B>TYPE_NAME</B> String => Data source dependent type name,
   *  for a UDT the type name is fully qualified
   *	<LI><B>COLUMN_SIZE</B> int => column size.  For char or date
   *	    types this is the maximum number of characters, for numeric or
   *	    decimal types this is precision.
   *	<LI><B>BUFFER_LENGTH</B> is not used.
   *	<LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits
   *	<LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2)
   *	<LI><B>NULLABLE</B> int => is NULL allowed?
   *      <UL>
   *      <LI> columnNoNulls - might not allow NULL values
   *      <LI> columnNullable - definitely allows NULL values
   *      <LI> columnNullableUnknown - nullability unknown
   *      </UL>
   *	<LI><B>REMARKS</B> String => comment describing column (may be null)
   * 	<LI><B>COLUMN_DEF</B> String => default value (may be null)
   *	<LI><B>SQL_DATA_TYPE</B> int => unused
   *	<LI><B>SQL_DATETIME_SUB</B> int => unused
   *	<LI><B>CHAR_OCTET_LENGTH</B> int => for char types the
   *       maximum number of bytes in the column
   *	<LI><B>ORDINAL_POSITION</B> int	=> index of column in table
   *      (starting at 1)
   *	<LI><B>IS_NULLABLE</B> String => "NO" means column definitely
   *      does not allow NULL values; "YES" means the column might
   *      allow NULL values.  An empty string means nobody knows.
   *  </OL>
   *
   * @param catalog a catalog name; "" retrieves those without a
   * catalog; null means drop catalog name from the selection criteria
   * @param schemaPattern a schema name pattern; "" retrieves those
   * without a schema
   * @param tableNamePattern a table name pattern
   * @param columnNamePattern a column name pattern
   * @return ResultSet - each row is a column description
   * @exception SQLException if a database access error occurs
   * @see #getSearchStringEscape
   */
  public ResultSet getColumns(String catalog,String schemaPattern,
  String tableNamePattern,String columnNamePattern) throws SQLException {
    String table="SYSTEM_COLUMNS";
    String where=null;
    if(tableNamePattern!=null) {
      where="TABLE_NAME LIKE '"+tableNamePattern+"'";
    }
    if(columnNamePattern!=null) {
      where=addWhere(where,"COLUMN_NAME LIKE '"+columnNamePattern+"'");
    }
    return executeSelect(table,where);
  }
  /**
   * Gets a description of the access rights for a table's columns.
   *
   * <P>Only privileges matching the column name criteria are
   * returned.  They are ordered by COLUMN_NAME and PRIVILEGE.
   *
   * <P>Each privilige description has the following columns:
   *  <OL>
   *	<LI><B>TABLE_CAT</B> String => table catalog (may be null)
   *	<LI><B>TABLE_SCHEM</B> String => table schema (may be null)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -