ResultSetMetaData

一个对象可以用来获取在ResultSet对象中列的类型和属性。下面的代码片断创建了ResultSet对象 rs, 创建了ResultSetMetaData对象rsmd,并使用rsmd来找出rs中有多少列,和rs中的第一列是否可以在WHERE条件中使用。

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

getColumnCount()

返回ResultSet对象中列的数量

isAutoIncrement(int column)

表示指定的列是否是数值字动增长的

isCaseSensitive(int column)

表示列的名字是否对大小写敏感

isSearchable(int column)

表示指定的列是否可以在where条件中使用

isCurrency(int column) 没有试验成功

表示指定的列是否是现金值

isNullable(int column)

表示指定列的值是否可以为null 返回被指定列名可以为空的状态值;columnNoNulls(0)(不可以为Null), columnNullable(1)(可以为Null) 或 columnNullableUnknown(2)(未知)的其中一个

isSinged(int column)

表示被指定列的值是否是带符号的数值

getColumnDisplaySize(int column)

表示被指定列的以字符形式的最大显示宽度

getColumnLabel(int column)

获取指定列推荐的标题用来打印和显示。推荐的title通常由SQL AS语句指定。如果一条SQL没有指定ASgetColumnLabel返回的值将会和getColumnName方法返回的值一样。

getColumnName(int column)

获取指定列的名字

getSchemaName(int column)

获取指定列的表所在的schema(数据库)

注 如果使用的数据库是MySQL 此方法返回空字符串

getPrecision(int column)

获取指定列的大小 对于数据型的数据,返回最大值的精度。 对于字符数据,返回字符的长度 对于日期时间数据类型,返回的是日期以字符串表现型式的长度。 对于二进制数据,返回的是二进制形式的长度。 对于ROWID数据类型,返回的是二进制数据类型的长度。 如果数据类型列大小不适用,返回0

getScale(int column)

返回指定列数值小数点后的精度。 如果数据类型不适用,返回0

getTableName(int column)

返回指定列的表名

getCatalogName(int column)

返回指定列的表的数据库的名字

getColumnType(int column)

返回指定列的SQL类型

getColumnTypeName(int column)

返回指定列的 数据库的类型名

isReadOnly(int column)

返回指定列是否明确的不可写

isWritable(int column)

表示是否可以成功的写入指定列

isDefinitelyWritable(int column)

表示是否在指定列写入时将会明确成功

getColumnClassName(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. ResultSet.getObject may return a subclass of the class returned by this method.

results matching ""

    No results matching ""