Delphi のSage 50 UK データへのデータバインドコントロール

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

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Sage UK ODBC Driver

Sage 50 UK ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなSage 50 UK データに直接接続できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにSage データにアクセスし、Sage の顧客、トランザクション、請求書、販売レシートなどの読み、書き、更新を実行できます。



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

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

Sage 50 UK データへの新しいFireDAC 接続を作成します。

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

Note:Sage 50 UK 2012 以降のみサポートされています。

「接続」セクションのUser およびPassword プロパティを、有効なSage 50 UK のユーザー資格情報に設定する必要があります。これらの値は、Sage 50 UK に ログインするために使用するものと同じです。

さらに、「接続」セクションのURL プロパティを、希望する会社データセットのアドレスに設定する必要がります。アドレスを取得するには、以下を行ってください:

  1. Sage 50 UK ソフトウェアを開きます。
  2. 「Tools」->「Internet Options」をクリックします。
  3. 「SData Settings」タブを選択します。
  4. 「Sage 50 Accounts」の隣にある「Details」ボタンをクリックします。会社名のリストとそれに対応するデータセットのアドレスを含むウィンドウが表示されます。
  5. URL プロパティを希望する会社の隣にあるアドレスフィールドの値に設定します。

以下のステップに従ってData Explorer を使用し、Sage 50 UK への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 Sage 50 UK の名前に設定します。

Sage 50 UK データに接続できるVCL アプリケーションの作成

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

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

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

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

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

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

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

FireDAC コンポーネントを使用してSage 50 UK へのコマンドを実行

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

Sage 50 UK データに接続

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

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

パラメータクエリの作成

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

クエリの実行

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

FDQuery1.Open('select * from TradingAccounts where TradingAccountUUID = :TradingAccountUUID',['c2ef66a5-a545-413b-9312-79a53caadbc4']);

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

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