java.sql
Interface ResultSetMetaData

All Known Subinterfaces:
RowSetMetaData sample code for javax.sql.RowSetMetaData definition code for javax.sql.RowSetMetaData
All Known Implementing Classes:
RowSetMetaDataImpl sample code for javax.sql.rowset.RowSetMetaDataImpl definition code for javax.sql.rowset.RowSetMetaDataImpl

public interface ResultSetMetaData

An object that can be used to get information about the types and properties of the columns in a ResultSet object. The following code fragment creates the ResultSet object rs, creates the ResultSetMetaData object rsmd, and uses rsmd to find out how many columns rs has and whether the first column in rs can be used in a WHERE clause.


     ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
     ResultSetMetaData rsmd = rs.getMetaData();
     int numberOfColumns = rsmd.getColumnCount();
     boolean b = rsmd.isSearchable(1);

 


Field Summary
static int columnNoNulls sample code for java.sql.ResultSetMetaData.columnNoNulls definition code for java.sql.ResultSetMetaData.columnNoNulls
          The constant indicating that a column does not allow NULL values.
static int columnNullable sample code for java.sql.ResultSetMetaData.columnNullable definition code for java.sql.ResultSetMetaData.columnNullable
          The constant indicating that a column allows NULL values.
static int columnNullableUnknown sample code for java.sql.ResultSetMetaData.columnNullableUnknown definition code for java.sql.ResultSetMetaData.columnNullableUnknown
          The constant indicating that the nullability of a column's values is unknown.
 
Method Summary
 String sample code for java.lang.String definition code for java.lang.String getCatalogName sample code for java.sql.ResultSetMetaData.getCatalogName(int) definition code for java.sql.ResultSetMetaData.getCatalogName(int) (int column)
          Gets the designated column's table's catalog name.
 String sample code for java.lang.String definition code for java.lang.String getColumnClassName sample code for java.sql.ResultSetMetaData.getColumnClassName(int) definition code for java.sql.ResultSetMetaData.getColumnClassName(int) (int column)
          Returns the fully-qualified name of the Java class whose instances are manufactured if the method ResultSet.getObject is called to retrieve a value from the column.
 int getColumnCount sample code for java.sql.ResultSetMetaData.getColumnCount() definition code for java.sql.ResultSetMetaData.getColumnCount() ()
          Returns the number of columns in this ResultSet object.
 int getColumnDisplaySize sample code for java.sql.ResultSetMetaData.getColumnDisplaySize(int) definition code for java.sql.ResultSetMetaData.getColumnDisplaySize(int) (int column)
          Indicates the designated column's normal maximum width in characters.
 String sample code for java.lang.String definition code for java.lang.String getColumnLabel sample code for java.sql.ResultSetMetaData.getColumnLabel(int) definition code for java.sql.ResultSetMetaData.getColumnLabel(int) (int column)
          Gets the designated column's suggested title for use in printouts and displays.
 String sample code for java.lang.String definition code for java.lang.String getColumnName sample code for java.sql.ResultSetMetaData.getColumnName(int) definition code for java.sql.ResultSetMetaData.getColumnName(int) (int column)
          Get the designated column's name.
 int getColumnType sample code for java.sql.ResultSetMetaData.getColumnType(int) definition code for java.sql.ResultSetMetaData.getColumnType(int) (int column)
          Retrieves the designated column's SQL type.
 String sample code for java.lang.String definition code for java.lang.String getColumnTypeName sample code for java.sql.ResultSetMetaData.getColumnTypeName(int) definition code for java.sql.ResultSetMetaData.getColumnTypeName(int) (int column)
          Retrieves the designated column's database-specific type name.
 int getPrecision sample code for java.sql.ResultSetMetaData.getPrecision(int) definition code for java.sql.ResultSetMetaData.getPrecision(int) (int column)
          Get the designated column's number of decimal digits.
 int getScale sample code for java.sql.ResultSetMetaData.getScale(int) definition code for java.sql.ResultSetMetaData.getScale(int) (int column)
          Gets the designated column's number of digits to right of the decimal point.
 String sample code for java.lang.String definition code for java.lang.String getSchemaName sample code for java.sql.ResultSetMetaData.getSchemaName(int) definition code for java.sql.ResultSetMetaData.getSchemaName(int) (int column)
          Get the designated column's table's schema.
 String sample code for java.lang.String definition code for java.lang.String getTableName sample code for java.sql.ResultSetMetaData.getTableName(int) definition code for java.sql.ResultSetMetaData.getTableName(int) (int column)
          Gets the designated column's table name.
 boolean isAutoIncrement sample code for java.sql.ResultSetMetaData.isAutoIncrement(int) definition code for java.sql.ResultSetMetaData.isAutoIncrement(int) (int column)
          Indicates whether the designated column is automatically numbered, thus read-only.
 boolean isCaseSensitive sample code for java.sql.ResultSetMetaData.isCaseSensitive(int) definition code for java.sql.ResultSetMetaData.isCaseSensitive(int) (int column)
          Indicates whether a column's case matters.
 boolean isCurrency sample code for java.sql.ResultSetMetaData.isCurrency(int) definition code for java.sql.ResultSetMetaData.isCurrency(int) (int column)
          Indicates whether the designated column is a cash value.
 boolean isDefinitelyWritable sample code for java.sql.ResultSetMetaData.isDefinitelyWritable(int) definition code for java.sql.ResultSetMetaData.isDefinitelyWritable(int) (int column)
          Indicates whether a write on the designated column will definitely succeed.
 int isNullable sample code for java.sql.ResultSetMetaData.isNullable(int) definition code for java.sql.ResultSetMetaData.isNullable(int) (int column)
          Indicates the nullability of values in the designated column.
 boolean isReadOnly sample code for java.sql.ResultSetMetaData.isReadOnly(int) definition code for java.sql.ResultSetMetaData.isReadOnly(int) (int column)
          Indicates whether the designated column is definitely not writable.
 boolean isSearchable sample code for java.sql.ResultSetMetaData.isSearchable(int) definition code for java.sql.ResultSetMetaData.isSearchable(int) (int column)
          Indicates whether the designated column can be used in a where clause.
 boolean isSigned sample code for java.sql.ResultSetMetaData.isSigned(int) definition code for java.sql.ResultSetMetaData.isSigned(int) (int column)
          Indicates whether values in the designated column are signed numbers.
 boolean isWritable sample code for java.sql.ResultSetMetaData.isWritable(int) definition code for java.sql.ResultSetMetaData.isWritable(int) (int column)
          Indicates whether it is possible for a write on the designated column to succeed.
 

Field Detail

columnNoNulls sample code for java.sql.ResultSetMetaData.columnNoNulls

static final int columnNoNulls
The constant indicating that a column does not allow NULL values.

See Also:
Constant Field Values

columnNullable sample code for java.sql.ResultSetMetaData.columnNullable

static final int columnNullable
The constant indicating that a column allows NULL values.

See Also:
Constant Field Values

columnNullableUnknown sample code for java.sql.ResultSetMetaData.columnNullableUnknown

static final int columnNullableUnknown
The constant indicating that the nullability of a column's values is unknown.

See Also:
Constant Field Values
Method Detail

getColumnCount sample code for java.sql.ResultSetMetaData.getColumnCount() definition code for java.sql.ResultSetMetaData.getColumnCount()

int getColumnCount()
                   throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Returns the number of columns in this ResultSet object.

Returns:
the number of columns
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isAutoIncrement sample code for java.sql.ResultSetMetaData.isAutoIncrement(int) definition code for java.sql.ResultSetMetaData.isAutoIncrement(int)

boolean isAutoIncrement(int column)
                        throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates whether the designated column is automatically numbered, thus read-only.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so; false otherwise
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isCaseSensitive sample code for java.sql.ResultSetMetaData.isCaseSensitive(int) definition code for java.sql.ResultSetMetaData.isCaseSensitive(int)

boolean isCaseSensitive(int column)
                        throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates whether a column's case matters.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so; false otherwise
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isSearchable sample code for java.sql.ResultSetMetaData.isSearchable(int) definition code for java.sql.ResultSetMetaData.isSearchable(int)

boolean isSearchable(int column)
                     throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates whether the designated column can be used in a where clause.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so; false otherwise
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isCurrency sample code for java.sql.ResultSetMetaData.isCurrency(int) definition code for java.sql.ResultSetMetaData.isCurrency(int)

boolean isCurrency(int column)
                   throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates whether the designated column is a cash value.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so; false otherwise
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isNullable sample code for java.sql.ResultSetMetaData.isNullable(int) definition code for java.sql.ResultSetMetaData.isNullable(int)

int isNullable(int column)
               throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates the nullability of values in the designated column.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
the nullability status of the given column; one of columnNoNulls, columnNullable or columnNullableUnknown
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isSigned sample code for java.sql.ResultSetMetaData.isSigned(int) definition code for java.sql.ResultSetMetaData.isSigned(int)

boolean isSigned(int column)
                 throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates whether values in the designated column are signed numbers.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so; false otherwise
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getColumnDisplaySize sample code for java.sql.ResultSetMetaData.getColumnDisplaySize(int) definition code for java.sql.ResultSetMetaData.getColumnDisplaySize(int)

int getColumnDisplaySize(int column)
                         throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates the designated column's normal maximum width in characters.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
the normal maximum number of characters allowed as the width of the designated column
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getColumnLabel sample code for java.sql.ResultSetMetaData.getColumnLabel(int) definition code for java.sql.ResultSetMetaData.getColumnLabel(int)

String sample code for java.lang.String definition code for java.lang.String  getColumnLabel(int column)
                      throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Gets the designated column's suggested title for use in printouts and displays.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
the suggested column title
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getColumnName sample code for java.sql.ResultSetMetaData.getColumnName(int) definition code for java.sql.ResultSetMetaData.getColumnName(int)

String sample code for java.lang.String definition code for java.lang.String  getColumnName(int column)
                     throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Get the designated column's name.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
column name
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getSchemaName sample code for java.sql.ResultSetMetaData.getSchemaName(int) definition code for java.sql.ResultSetMetaData.getSchemaName(int)

String sample code for java.lang.String definition code for java.lang.String  getSchemaName(int column)
                     throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Get the designated column's table's schema.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
schema name or "" if not applicable
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getPrecision sample code for java.sql.ResultSetMetaData.getPrecision(int) definition code for java.sql.ResultSetMetaData.getPrecision(int)

int getPrecision(int column)
                 throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Get the designated column's number of decimal digits.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
precision
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getScale sample code for java.sql.ResultSetMetaData.getScale(int) definition code for java.sql.ResultSetMetaData.getScale(int)

int getScale(int column)
             throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Gets the designated column's number of digits to right of the decimal point.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
scale
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getTableName sample code for java.sql.ResultSetMetaData.getTableName(int) definition code for java.sql.ResultSetMetaData.getTableName(int)

String sample code for java.lang.String definition code for java.lang.String  getTableName(int column)
                    throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Gets the designated column's table name.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
table name or "" if not applicable
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getCatalogName sample code for java.sql.ResultSetMetaData.getCatalogName(int) definition code for java.sql.ResultSetMetaData.getCatalogName(int)

String sample code for java.lang.String definition code for java.lang.String  getCatalogName(int column)
                      throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Gets the designated column's table's catalog name.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
the name of the catalog for the table in which the given column appears or "" if not applicable
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getColumnType sample code for java.sql.ResultSetMetaData.getColumnType(int) definition code for java.sql.ResultSetMetaData.getColumnType(int)

int getColumnType(int column)
                  throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Retrieves the designated column's SQL type.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
SQL type from java.sql.Types
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs
See Also:
Types sample code for java.sql.Types definition code for java.sql.Types

getColumnTypeName sample code for java.sql.ResultSetMetaData.getColumnTypeName(int) definition code for java.sql.ResultSetMetaData.getColumnTypeName(int)

String sample code for java.lang.String definition code for java.lang.String  getColumnTypeName(int column)
                         throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Retrieves the designated column's database-specific type name.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
type name used by the database. If the column type is a user-defined type, then a fully-qualified type name is returned.
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isReadOnly sample code for java.sql.ResultSetMetaData.isReadOnly(int) definition code for java.sql.ResultSetMetaData.isReadOnly(int)

boolean isReadOnly(int column)
                   throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates whether the designated column is definitely not writable.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so; false otherwise
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isWritable sample code for java.sql.ResultSetMetaData.isWritable(int) definition code for java.sql.ResultSetMetaData.isWritable(int)

boolean isWritable(int column)
                   throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates whether it is possible for a write on the designated column to succeed.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so; false otherwise
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

isDefinitelyWritable sample code for java.sql.ResultSetMetaData.isDefinitelyWritable(int) definition code for java.sql.ResultSetMetaData.isDefinitelyWritable(int)

boolean isDefinitelyWritable(int column)
                             throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 
Indicates whether a write on the designated column will definitely succeed.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
true if so; false otherwise
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs

getColumnClassName sample code for java.sql.ResultSetMetaData.getColumnClassName(int) definition code for java.sql.ResultSetMetaData.getColumnClassName(int)

String sample code for java.lang.String definition code for java.lang.String  getColumnClassName(int column)
                          throws SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException 

Returns the fully-qualified name of the Java class whose instances are manufactured if the method ResultSet.getObject is called to retrieve a value from the column. ResultSet.getObject may return a subclass of the class returned by this method.

Parameters:
column - the first column is 1, the second is 2, ...
Returns:
the fully-qualified name of the class in the Java programming language that would be used by the method ResultSet.getObject to retrieve the value in the specified column. This is the class name used for custom mapping.
Throws:
SQLException sample code for java.sql.SQLException definition code for java.sql.SQLException - if a database access error occurs
Since:
1.2