CCFXQuery クラス

ColdFusion Extension (CFX) によって使われたか、または作成されたクエリを表す抽象クラス。クエリには、行数はさまざまですが、複数行に拡張されるデータの列が 1 つ以上あります。

クラス メンバ

virtual int AddRow()

CCFXQuery::AddRow により、クエリに新しい行を追加します。

virtual int AddRow()  virtual CCFXStringSet* GetColumns

CCFXQuery::GetColumns により、クエリの列名のリストを取り出します。

virtual LPCSTR GetData( int iRow, int iColumn )

CCFXQuery::GetData により、クエリの行と列からデータ要素を取り出します。

virtual LPCSTR GetName()

CCFXQuery::GetName により、クエリの名前を取り出します。

virtual int GetRowCount()

CCFXQuery::GetRowCountにより、クエリの行数を取り出します。

virtual void SetData( int iRow, int iColumn, LPCSTR lpszData )

CCFXQuery::SetData により、クエリの行と列の中のデータ要素を設定します。

virtual void SetQueryString( LPCSTR lpszQuery )

CCFXQuery::SetQueryString により、クエリのデバッグ出力を表示するクエリ文 字列を設定します。

virtual void SetTotalTime( DWORD dwMilliseconds )

CCFXQuery::SetTotalTimeにより、クエリ (デバッグ出力のために使われる) の 処理に必要な合計時間を設定します。

CCFXQuery::AddRow

構文

int CCFXQuery::AddRow(void)
 

説明

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

戻り値

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

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

// 1 行目
int iRow ;
iRow = pQuery->AddRow() ;
pQuery->SetData( iRow, iCity, "Minneapolis" ) ;
pQuery->SetData( iRow, iState, "MN" ) ;
pQuery->SetData( iRow, iZip, "55345" ) ;
 
// 2 行目
iRow = pQuery->AddRow() ;
pQuery->SetData( iRow, iCity, "St. Paul" ) ;
pQuery->SetData( iRow, iState, "MN" ) ;
pQuery->SetData( iRow, iZip, "55105" ) ;

CCFXQuery::GetColumns

構文

CCFXStringSet* CCFXQuery::GetColumns(void)
 

説明

クエリに含まれている列名のリストを取り出します。

戻り値

クエリに含まれている列のリストを含むクラスのオブジェクト CCFXStringSet クラス を返します。リクエストが完了した後、返された文字列セットのために割り当てられていたメモリが解放されます。

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

// クエリから列のリストを取得します。
CCFXStringSet* pColumns = pQuery->GetColumns() ;
int nNumColumns = pColumns->GetCount() ;
 
// ユーザに対して列のリストを表示します。
pRequest->Write( "Columns in query: " ) ;
for( int i=1; i<=nNumColumns; i++ )
{
  pRequest->Write( pColumns->GetString( i ) ) ;
  pRequest->Write( " " ) ;
}

CCFXQuery::GetData

構文

LPCSTR CCFXQuery::GetData(int iRow, int iColumn)

説明

クエリの行と列からデータ要素を取り出します。行と列のインデックスは 1 から始まります。CCFXQuery::GetRowCount を呼び出すと、クエリの行数を決めることができます。CCFXQuery::GetColumns を使って列のリストを取り出し、返された文字列セットに対して CCFXStringSet::GetCount を呼び出すと、クエリの列数を判断できます。

戻り値

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

パラメータ

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

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

int iRow, iCol ;
int nNumCols = pQuery->GetColumns()->GetCount() ;
int nNumRows = pQuery->GetRowCount() ;
for ( iRow=1; iRow<=nNumRows; iRow++ )
{
  for ( iCol=1; iCol<=nNumCols; iCol++ )
  {
  pRequest->Write( pQuery->GetData( iRow, iCol ) ) ;
  pRequest->Write( " " ) ;
  }
  pRequest->Write( "<BR>" ) ;
}

CCFXQuery::GetName

構文

LPCSTR CCFXQuery::GetName(void)

説明

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

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

CCFXQuery* pQuery = pRequest->GetQuery() ;
pRequest->Write( "The query name is: " ) ;
pRequest->Write( pQuery->GetName() ) ;

CCFXQuery::GetRowCount

構文

LPCSTR CCFXQuery::GetRowCount(void)

説明

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

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

CCFXQuery* pQuery = pRequest->GetQuery() ;
char buffOutput[256] ;
wsprintf( buffOutput,
  "The number of rows in the query is %ld.",
  pQuery->GetRowCount() ) ;
pRequest->Write( buffOutput ) ;

CCFXQuery::SetData

構文

void CCFXQuery::SetData(int iRow, int iColumn, LPCSTR lpszData)

説明

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

パラメータ

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

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

// 1 行目
int iRow ;
iRow = pQuery->AddRow() ;
pQuery->SetData( iCity, iRow, "Minneapolis" ) ;
pQuery->SetData( iState, iRow, "MN" ) ;
pQuery->SetData( iZip, iRow, "55345" ) ;
 
// 2 行目
iRow = pQuery->AddRow() ;
pQuery->SetData( iCity, iRow, "St. Paul" ) ;
pQuery->SetData( iState, iRow, "MN" ) ;
pQuery->SetData( iZip, iRow, "55105" ) ;

CCFXQuery::SetQueryString

この関数は互換性維持の目的でのみ使われているので、使わないでください。

CCFXQuery::SetTotalTime

この関数は互換性維持の目的でのみ使われているので、使わないでください。