Delphi のIBM Cloud SQL Query データへのデータバインドコントロール

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

IBM Cloud SQL Query ODBC Driver

IBM Cloud SQL ODBC Driver で、ODBC 接続をサポートするあらゆるツール・アプリケーションからIBM Cloud SQL Query へのデータ連携を可能に。

IBM Cloud SQL のインタラクティブクエリサービスデータに標準ODBC 接続でDB と同感覚でアクセス。



標準のデータアクセスコンポーネントとコントロールを備えたDelphi のIBM Cloud SQL Query にデータバインドします。

CData ODBC Driver for IBM Cloud SQL Query は、ODBC 標準をサポートし、ライブIBM Cloud SQL Query データとビジュアルフォームデザイナおよびDelphi の他のラピッド開発ツールとの統合を可能にします。ODBC ドライバーは、データベース開発用のシングルAPI を提供することにより、Delphi のような単一のコードベースを共有するアプリケーションのデータアクセス戦略を簡素化します。この記事では、IBM Cloud SQL Query に接続してシンプルなVisual Component Library (VCL) アプリケーションおよびDelphi コードからデータをクエリする方法を説明します。

IBM Cloud SQL Query データへの新しいFireDAC 接続を作成します。

未指定の場合は、初めにODBC DSN (data source name) で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。

IBM Cloud SQL は、OAuth およびHMAC 認証標準を使います。詳細はヘルプドキュメントを参照してください。

以下のステップに従ってData Explorer を使用し、IBM Cloud SQL Query へのFireDAC 接続を作成できます。

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

IBM Cloud SQL Query データに接続できるVCL アプリケーションの作成

以下のステップに従って、クエリの結果をグリッドに表示するシンプルなVCL アプリケーションからIBM Cloud SQL Query のクエリの実行を開始します。

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

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

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

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

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

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

FireDAC コンポーネントを使用してIBM Cloud SQL Query へのコマンドを実行

TFDConnection およびTFQuery コンポーネントを使用してIBM Cloud SQL Query へのクエリを実行できます。このセクションでは、TFQuery コンポーネントを使用してクエリを実行するIBM Cloud SQL Query 固有の例を示します。

IBM Cloud SQL Query データに接続

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

FDConnection1.ConnectionDefName := 'myibmcloudsql'; FDConnection1.Connected := true;

パラメータクエリの作成

パラメータ化されたリソースはパフォーマンスを向上させることができます。ステートメントの準備は、システムリソースと時間の面でコストがかかります。ステートメントの準備中、接続がアクティブで開いている必要があるためです。FireDACはデフォルトで、同じクエリが何度もリコンパイルされないようにクエリを準備します。ステートメントの準備を無効にするには、ResourceOptions.DirectExecute を[True]に設定します。クエリを一回だけ実行する必要がある場合などに設定します。

クエリの実行

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

FDQuery1.Open('select * from Jobs where UserId = :UserId',['user@domain.com']);

delete のような結果セットを返さないクエリを実行するには、ExecSQL メソッドを使用します。クエリが結果セットを返す場合、ExecSQL メソッドはエラーを返します。影響を受ける行の数を取得するには、[TFD.RowsAffected]プロパティを使用します。

FDQuery1.ExecSQL('delete from Jobs where Id= :myId',['x12345']); i := FDQuery1.RowsAffected;