C++Builder でVercel のデータにデータバインドするコントロールを作成

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
C++Builder で標準コンポーネントとコントロールを使ってVercel のデータ にデータバインド。



CData ODBC ドライバー for Vercel を使用すると、C++Builder の標準データアクセスコンポーネントを使ってライブのVercel のデータ への接続を簡単に統合できます。この記事では、C++Builder でシンプルな VCL(Visual Component Library)アプリケーションを作成し、Vercel のデータ に接続してクエリを実行し、グリッドに結果を表示する方法を説明します。さらに、FireDAC コンポーネントを使ってコードからコマンドを実行する方法も紹介します。

Vercel のデータへの接続を作成

まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップです。Microsoft ODBC データソースアドミニストレーターを使って ODBC DSN を作成・設定できます。

API キー認証の設定

Vercel は Bearer トークン認証を使用します。API キーとして、パーソナルアクセストークンまたは OAuth アクセストークンのいずれかを使用できます。

パーソナルアクセストークンを取得するには、以下のステップで進めます:

  1. https://vercel.com/ で Vercel アカウントにログインします
  2. Account Settings > Tokens に移動します。
  3. Create Token をクリックし、名前と有効期限を入力して Create をクリックします。
  4. 生成されたトークンをコピーします(一度しか表示されません)。

トークンを取得したら、以下の接続プロパティを設定します:

  • AuthScheme:APIKey に設定します。
  • APIKey:Vercel のパーソナルアクセストークンまたは OAuth アクセストークンに設定します。

接続文字列の例

Profile=C:\profiles\Vercel.apip;AuthScheme=APIKey;APIKey=your_access_token;

チームの利用

Vercel のリソースの多くは、チームにスコープされています。すべてのリクエストを特定のチームにスコープするには、TeamId 接続プロパティにチームの ID を設定します。チーム ID は、Teams テーブルをクエリするか、Vercel ダッシュボードで確認できます。あるいは、サポートされている場合は SQL クエリの WHERE 句で TeamId を指定することもできます。

Vercel への接続

認証を設定すると、Vercel に接続して、Projects、Deployments、Teams、Domains などの利用可能なテーブルからデータをクエリできます。

次に、以下の手順に従って Data Explorer を使用し、Vercel への FireDAC 接続を作成します。

  1. 新しい VCL Forms アプリケーションで、Data Explorer の FireDAC ノードを展開します。
  2. Data Explorer の ODBC Data Source ノードを右クリックします。
  3. Add New Connection をクリックします。
  4. 接続の名前を入力します。
  5. 表示される FireDAC Connection Editor で、DataSource プロパティをVercel の ODBC DSN の名前に設定します。

Vercel のデータに接続する VCL アプリケーションを作成

以下の手順に従って、クエリの結果をグリッドに表示するシンプルな VCL アプリケーションからVercel のデータ のクエリを開始します。

  1. TFDConnection コンポーネントをフォームにドロップし、以下のプロパティを設定します:

    • ConnectionDefName:Vercel への FireDAC 接続を選択します。
    • Connected:メニューから True を選択し、表示されるダイアログで資格情報を入力します。
  2. TFDQuery コンポーネントをフォームにドロップし、以下のプロパティを設定します:

    • Connection:TFDConnection コンポーネントに設定します(まだ指定されていない場合)。
    • SQL:SQL プロパティのボタンをクリックし、クエリを入力します。例:

      SELECT ,  FROM User WHERE  = ''
      
    • Active:このプロパティを true に設定します。
  3. TDataSource コンポーネントをフォームにドロップし、以下のプロパティを設定します:

    • DataSet:このプロパティのメニューで、TFDQuery コンポーネントの名前を選択します。
  4. TDBGrid コントロールをフォームにドロップし、以下のプロパティを設定します:

    • DataSource:TDataSource の名前を選択します。
  5. TFDGUIxWaitCursor をフォームにドロップします — これは実行時エラーを回避するために必要です。

FireDAC コンポーネントを使ってVercel にコマンドを実行

TFDConnection および TFQuery コンポーネントを使用して、Vercel のデータ にクエリを実行できます。このセクションでは、TFQuery コンポーネントを使ったクエリ実行のVercel 固有の例を紹介します。

Vercel のデータに接続

データソースに接続するには、TFDConnection コンポーネントの Connected プロパティを true に設定します。コードから同じプロパティを設定することもできます:

FDConnection1->ConnectionDefName = "CData Vercel ODBC Source";
FDConnection1->Connected = true;

TFDQuery コンポーネントをVercel のデータ に接続するには、コンポーネントの Connection プロパティを設定します。設計時に TFDQuery コンポーネントを追加すると、上記のアプリケーションのように、その Connection プロパティはフォーム上の TFDConnection を指すように自動的に設定されます。

パラメータ化クエリの作成

パラメータ化クエリを作成するには、以下の構文を使用します:

FDQuery1->SQL->Text = "select * from User where  = :";
FDQuery1->ParamByName("")->AsString = "";
FDQuery1->Open();

上記の例では、文字列型の入力パラメータを名前でバインドし、結果のデータセットを開いています。

ステートメントの準備

ステートメントの準備は、システムリソースと時間の両方でコストがかかります。ステートメントの準備中は、接続がアクティブで開いている必要があります。デフォルトでは、FireDAC は同じクエリを何度もコンパイルすることを避けるためにクエリを準備します。ステートメントの準備を無効にするには、ResourceOptions.DirectExecute を True に設定します。例えば、クエリを一度だけ実行する必要がある場合などです。

クエリの実行

SELECT クエリなど、結果セットを返すクエリを実行するには、Open メソッドを使用します。Open メソッドはクエリを実行し、結果セットを返して開きます。クエリが結果セットを生成しない場合、Open メソッドはエラーを返します。

FDQuery1->SQL->Text = "select * from User where  = :";
FDQuery1->ParamByName("")->AsString = "";
FDQuery1->Open();

関連記事

以下に、RAD Studio、Delphi、C++ Builder で CData ODBC ドライバーを使用するための他の記事を紹介します。

はじめる準備はできましたか?

API Driver で Vercel のライブデータに接続

Vercel に接続