Query インターフェイス

public abstract interface Query

CustomTag によって使用されるか、作成されるクエリへのインターフェイスです。クエリには、名前が付いた列および行で編成された表形式データが含まれています。

メソッド

戻り値
メソッド
説明
int
 
addRow() 
 
クエリに新しい行を追加します
int
 
getColumnIndex(String name) 
 
名前が付いた列のインデックスを取り出します
String[]
 
getColumns() 
 
クエリに含まれている列名のリストを取り出します
String
 
getData(int iRow, int iCol) 
 
クエリの行と列からデータ要素を取り出します
String
 
getName() 
 
クエリの名前を返します
int
 
getRowCount() 
 
クエリの行数を取り出します
void
 
getData(int iRow, int iCol) 
  String data)
 
クエリの行と列の中のデータ要素を設定します

addRow

説明

クエリに新しい行を追加します。クエリに行を 1 行追加するには、この関数を呼び出します。

クエリに追加された行のインデックスを返します。

カテゴリ

Query インターフェイス

構文

public int addRow()
 

参照

setData, getData

次の例では、3 列のクエリ (City、State、Zip) に 2 行を追加しています。

// 列インデックスを定義します。
int iCity = 1, iState = 2, iZip = 3 ;

// 1 行目
int iRow = query.addRow() ;
query.setData( iRow, iCity, "Minneapolis" ) ;
query.setData( iRow, iState, "MN" ) ;
query.setData( iRow, iZip, "55345" ) ; 
// 2 行目
iRow = query.addRow() ;
query.setData( iRow, iCity, "St. Paul" ) ;
query.setData( iRow, iState, "MN" ) ;
query.setData( iRow, iZip, "55105" ) ; 

getColumnIndex

説明

列のインデックスを返すか、該当する列がない場合は -1 を返します。

カテゴリ

Query インターフェイス

構文

public int getColumnIndex(String name)
 

参照

getColumns, getData

パラメータ

パラメータ
説明
name
インデックスを取得する列の名前 (ルックアップ関数では大文字と小文字が区別されます)

次の例は、EMAIL 列のインデックスを取り出し、このインデックスを使って、EMAIL 列に格納されている住所のリストを出力しています。

// EMAIL 列のインデックスを取得します。
int iEMail = query.getColumnIndex( "EMAIL" ) ;

// クエリを繰り返してアドレスのリストを出力します。
int nRows = query.getRowCount() ;
for( int iRow = 1; iRow <= nRows; iRow++ )
{
  response.write( query.getData( iRow, iEMail ) + "<BR>" ) ;
} 

getColumns

説明

クエリの列の名前を含んでいる文字列の配列を返します。

カテゴリ

Query インターフェイス

構文

public String[] getColumns()
 

次の例では、列のリストを取り出し、リストを繰り返し使いながら、各列の名前をユーザに返しています。

// クエリから列のリストを取得します。
String[] columns = query.getColumns() ;
int nNumColumns = columns.length ;          

// ユーザに対して列のリストを表示します。
response.write( "Columns in query: " ) ;
for( int i=0; i<nNumColumns; i++ )
{
  response.write( columns[i] + " " ) ;
} 

getData

説明

クエリの行と列からデータ要素を取り出します。行と列のインデックスは 1 から始まります。getRowCount を呼び出すと、クエリの行数を判別できます。getColumns を呼び出すことによって、クエリの列の内容を調べることができます。

リクエストされたデータ要素の値を返します。

カテゴリ

Query インターフェイス

構文

public String getData(int iRow, int iCol)
 

戻り値

IndexOutOfBoundsException 無効なインデックスがメソッドに渡された場合に返されます。

参照

setData, addRow

パラメータ

パラメータ
説明
iRow
データを取り出す行 (1 から始まります)
iCol
データを取り出す列 (1 から始まります)

次の例では、クエリの要素について繰り返し作業を行い、スペースで区切られた簡単な書式でクエリ内のデータをユーザに返しています。

int iRow, iCol ;
int nNumCols = query.getColumns().length ;
int nNumRows = query.getRowCount() ;
for ( iRow = 1; iRow <= nNumRows; iRow++ )
{
  for ( iCol = 1; iCol <= nNumCols; iCol++ )
  {
    response.write( query.getData( iRow, iCol ) + " " ) ;
  }
  response.write( "<BR>" ) ;
} 

getName

説明

クエリの名前を返します。

カテゴリ

Query インターフェイス

構文

public String getName()
 

次の例では、クエリの名前を取り出して、ユーザに返しています。

Query query = request.getQuery() ;
  response.write( "The query name is: " + query.getName() ) ; 

getRowCount

説明

クエリの行数を取り出します。

クエリの行数を返します。

カテゴリ

Query インターフェイス

構文

public int getRowCount()

次の例では、クエリの行数を取り出して、ユーザに返しています。

Query query = request.getQuery() ;
  int rows = query.getRowCount() ;
  response.write( "The number of rows in the query is " 
  + Integer.toString(rows) ) ; 

setData

説明

クエリの行と列の中のデータ要素を設定します。行と列のインデックスは、1 から始まります。ある行について SetData を呼び出す場合は、その前に必ず addRow を呼び出し、その戻り値を、SetData を呼び出すときに行インデックスとして使います。

カテゴリ

Query インターフェイス

構文

public void setData(int iRow, int iCol, String data)
 

戻り値

IndexOutOfBoundsException 無効なインデックスがメソッドに渡された場合に返されます。

参照

getData, addRow

パラメータ

パラメータ
説明
iRow
設定するデータ要素の行 (1 から始まります)
iCol
設定するデータ要素の列 (1 から始まります)
data
データ要素の新しい値

次の例では、3 列のクエリ (City、State、Zip) に 2 行を追加しています。

// 列インデックスを定義します。
int iCity = 1, iState = 2, iZip = 3 ;

// 1 行目
int iRow = query.addRow() ;
query.setData( iRow, iCity, "Minneapolis" ) ;
query.setData( iRow, iState, "MN" ) ;
query.setData( iRow, iZip, "55345" ) ; 


// 2 行目
iRow = query.addRow() ;
query.setData( iRow, iCity, "St. Paul" ) ;
query.setData( iRow, iState, "MN" ) ;
query.setData( iRow, iZip, "55105" ) ;