PowerBuilder からTimeCamp のデータに接続してみた

加藤龍彦
加藤龍彦
デジタルマーケティング
この記事では、CData API Driver for ADO.NET を使ってAppeon PowerBuilder から TimeCamp のデータ にアクセスする方法を紹介します。



この記事では、CData API Driver for ADO.NET をPowerBuilder で使う方法を紹介します。これらの標準準拠コントロールは扱いやすく、Appeon PowerBuilder をはじめ、Microsoft .NET に対応したさまざまなプラットフォームや開発テクノロジーで利用できます。

この記事では、CData API Driver for ADO.NET を使って PowerBuilder からデータを取得する基本的なアプリケーションを作成する方法を紹介します。

  1. 新規WPF Window Application ソリューションで、接続プロパティに必要なすべてのビジュアルコントロールを追加します。一般的な接続文字列は次のとおりです:

    Profile=C:\profiles\TimeCamp.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_api_token';

    まず、Profile 接続プロパティをディスク上の TimeCamp プロファイルの場所に設定します(例:C:\profiles\TimeCamp.apip)。次に、ProfileSettings 接続プロパティを TimeCamp の接続文字列に設定します(以下を参照)。

    TimeCamp API プロファイル設定

    TimeCamp ではトークンベースの認証を使用します。API トークンは以下の手順で取得できます。

    1. https://app.timecamp.com で TimeCamp アカウントにログインします。
    2. 画面右上のプロフィールアバターをクリックします。
    3. 「Profile Settings」を選択します。
    4. ページ下部に表示されている API トークンをコピーします。

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

    • AuthScheme:APIKey に設定します。

    ProfileSettings 接続プロパティには、以下を設定します。

    • APIKey:TimeCamp の API トークンに設定します。
  2. .NET コントロールからDataGrid コントロールを追加します。
  3. DataGrid コントロールのカラムを設定します。Account テーブルからいくつかのカラムを以下に示します:
    
    
    <DataGrid AutoGenerateColumns="False" Margin="13,249,12,14" Name="datagrid1" TabIndex="70" ItemsSource="{Binding}">
    <DataGrid.Columns>
        <DataGridTextColumn x:Name="idColumn" Binding="{Binding Path=Id}" Header="Id" Width="SizeToHeader" />
        <DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=UserId}" Header="UserId" Width="SizeToHeader" />
    		...
    	</DataGrid.Columns>
    </DataGrid>
    
  4. CData API Driver for ADO.NET アセンブリへの参照を追加します。

DataGrid 接続

ビジュアルエレメントが設定されたら、Connection、Command、およびDataAdapter のような標準のADO.NET オブジェクトを使ってSQL クエリの結果をDataTable に表示することができます:


System.Data.CData.API.APIConnection conn
conn = create System.Data.CData.API.APIConnection(connectionString)

System.Data.CData.API.APICommand comm
comm = create System.Data.CData.API.APICommand(command, conn)

System.Data.DataTable table
table = create System.Data.DataTable

System.Data.CData.API.APIDataAdapter dataAdapter
dataAdapter = create System.Data.CData.API.APIDataAdapter(comm)
dataAdapter.Fill(table)
datagrid1.ItemsSource=table.DefaultView

上のコードは、指定したクエリからDataGrid にデータをバインドできます。

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

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

TimeCamp に接続