スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
ResultSetMetaDataインタフェースでは,主に次の機能が提供されます。
ResultSetMetaDataインタフェースのメソッド一覧を次の表に示します。なお,表に記載されていないメソッドはサポートしていません。サポートしていないメソッドを指定すると,SQLExceptionを投入します。
表18-46 ResultSetMetaDataインタフェースのメソッド一覧
記載箇所 | メソッド | 機能 |
---|---|---|
(a) | getCatalogName(int column) | 指定された列番号のテーブルでのカタログ名を返します。 |
(b) | getColumnClassName(int column) | カラムに対するJavaクラスの完全指定された名前を返します。 |
(c) | getColumnCount() | このResultSetオブジェクトの列数を返します。 |
(d) | getColumnDisplaySize(int column) | 指定された列の通常の最大幅を,文字数で返します。 |
(e) | getColumnLabel(int column) | 印刷や表示に使用する列の推奨タイトルを返します。 |
(f) | getColumnName(int column) | 指定した列の名前を返します。 |
(g) | getColumnType(int column) | 指定した列のSQLデータ型を返します。 |
(h) | getColumnTypeName(int column) | 指定された列の,データベース固有の形名を返します。 |
(i) | getPrecision(int column) | 指定された列の10進けた数を返します。 |
(j) | getScale(int column) | 指定された列の,小数点以下のけた数を返します。 |
(k) | getSchemaName(int column) | 指定された列のテーブルスキーマを返します。 |
(l) | getTableName(int column) | 指定された列のテーブル名を返します。 |
(m) | isAutoIncrement(int column) | 指定された列が自動的に番号付けされて,読み込み専用として扱われるかどうかを返します。 |
(n) | isCaseSensitive(int column) | 列の大文字と小文字が区別されるかどうかを返します。 |
(o) | isCurrency(int column) | 指定された列が,通貨の値かどうか返します。 |
(p) | isDefinitelyWritable(int column) | 指定された列の書き込みが,成功するかどうかを返します。 |
(q) | isNullable(int column) | 指定した列にNULLをセットできるかどうかを返します。 |
(r) | isReadOnly(int column) | 指定された列が,読み取り専用かどうかを返します。 |
(s) | isSearchable(int column) | 指定された列をwhere節で使用できるかどうかを返します。 |
(t) | isSigned(int column) | 指定された列の値が,符号付数値かどうかを返します。 |
(u) | isWritable(int column) | 指定された列への書き込みを,成功させることができるかどうかを返します。 |
public synchronized String getCatalogName(int column) throws SQLException
public synchronized String getColumnClassName(int column) throws SQLException
表18-47 getColumnClassNameで返却する文字列
列のHiRDBのデータ型 | 返却する文字列 |
---|---|
BLOB | "java.lang.Object" |
BINARY | "java.lang.Object" |
INTEGER | "java.lang.Integer" |
SMALLINT | "java.lang.Integer" |
FLOAT DOUBLE PRECISION |
"java.lang.Double" |
SMALLFLT REAL |
"java.lang.Float" |
DECIMAL NUMERIC |
"java.math.BigDecimal" |
CHAR | "java.lang.String" |
MCHAR | "java.lang.String" |
NCHAR | "java.lang.String" |
VARCHAR | "java.lang.String" |
MVARCHAR | "java.lang.String" |
NVARCHAR | "java.lang.String" |
DATE | "java.sql.Date" |
TIME | "java.sql.Time" |
TIMESTAMP | "java.sql.Timestamp" |
BOOLEAN(DatabaseMetaDataから生成したResultSetにだけ存在する列) | "java.lang.Boolean" |
public synchronized int getColumnCount()
public synchronized int getColumnDisplaySize(int column) throws SQLException
表18-48 getColumnDisplaySizeで返却する最大文字数
列のHiRDBのデータ型 | 返却する最大文字数 |
---|---|
BLOB(n) BINARY(n) |
n |
INTEGER | 11 |
SMALLINT | 6 |
FLOAT DOUBLE PRECISION |
23 |
SMALLFLT REAL |
13 |
DECIMAL(n,m) NUMERIC(n,m) |
n+2 |
CHAR(n) MCHAR(n) NCHAR(n) VARCHAR(n) MVARCHAR(n) NVARCHAR(n) |
n |
DATE | 10 |
TIME | 8 |
TIMESTAMP(n) | n>0の場合:19+(n+1) n=0の場合:19 |
BOOLEAN(DatabaseMetaDataから生成したResultSetにだけ存在する列) | 5 |
public synchronized String getColumnLabel(int column) throws SQLException
public synchronized String getColumnName(int column) throws SQLException
public synchronized int getColumnType(int column) throws SQLException
public synchronized String getColumnTypeName(int column) throws SQLException
表18-49 getColumnTypeNameで返却する文字列
列のHiRDBのデータ型 | 返却する文字列 |
---|---|
BLOB | "BLOB" |
BINARY | "BINARY" |
INTEGER | "INTEGER" |
SMALLINT | "SMALLINT" |
FLOAT | "FLOAT" |
REAL | "REAL" |
DECIMAL | "DECIMAL" |
CHAR | "CHAR" |
MCHAR | "MCHAR" |
NCHAR | "NCHAR" |
VARCHAR | "VARCHAR" |
MVARCHAR | "MVARCHAR" |
NVARCHAR | "NVARCHAR" |
DATE | "DATE" |
TIME | "TIME" |
TIMESTAMP | "TIMESTAMP" |
BOOLEAN(DatabaseMetaDataから生成したResultSetにだけ存在する列) | "BOOLEAN" |
public synchronized int getPrecision(int column) throws SQLException
表18-50 getPrecisionの返却値
列のHiRDBのデータ型 | 返却する値 |
---|---|
BLOB(n),BINARY(n) | n |
INTEGER | 10 |
SMALLINT | 5 |
FLOAT,DOUBLE PRECISION | 15 |
SMALLFLT,REAL | 7 |
DECIMAL(n,m),NUMERIC(n,m) | n |
CHAR(n),MCHAR(n),VARCHAR(n),MVARCHAR(n) | n |
NCHAR(n),NVARCHAR(n) | n×2 |
DATE | 10 |
TIME | 8 |
TIMESTAMP(n) | n>0の場合:19+(n+1) n=0の場合:19 |
BOOLEAN(DatabaseMetaDataから生成したResultSetにだけ存在する列) | 1 |
public synchronized int getScale(int column) throws SQLException
表18-51 getScaleで返却する値
列のHiRDBのデータ型 | 返却する値 |
---|---|
DECIMAL NUMERIC |
小数点以下のけた数 |
TIMESTAMP | ミリ秒以下のけた数 |
上記以外 | 0 |
public synchronized String getSchemaName(int column) throws SQLException
public synchronized String getTableName(int column) throws SQLException
public synchronized boolean isAutoIncrement(int column) throws SQLException
public synchronized boolean isCaseSensitive(int column) throws SQLException
public synchronized boolean isCurrency(int column) throws SQLException
public synchronized boolean isDefinitelyWritable(int column) throws SQLException
public synchronized int isNullable(int column) throws SQLException
public synchronized boolean isReadOnly(int column) throws SQLException
public synchronized boolean isSearchable(int column) throws SQLException
public synchronized boolean isSigned(int column) throws SQLException
表18-52 isSignedで返却する値
列のHiRDBのデータ型 | 返却する値 |
---|---|
INTEGER SMALLINT FLOAT DOUBLE PRECISION REAL SMALLFLT DECIMAL NUMERIC |
true |
上記以外 | false |
public synchronized boolean isWritable(int column) throws SQLException
このインタフェースを実装するパッケージ名称とクラス名称を次に示します。
getColumnName,及びgetColumnLabelメソッドは,HiRDBサーバからJDBCドライバに送られる列名記述領域(SQLCNDA)中のSQLNAMEから検索項目の名称を取得し,Javaの内部コードに変換して返却します。指定した列に対するこれらのメソッドの返却値の内容は,「付録C.1 列名記述領域の構成と内容」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.