Curlでは、構造化データを扱う際は、基本APIのRecordSetを使用します。RecordSetを使用することで、1つ以上のデータベースから取得したデータを、クライアント側でDBを操作するようにフィルタリングやソート等の処理を行うことが可能になります。
RecordSetは”deta centric”なアプリケーションには必須のAPIです。
RecordSet Data
RecordSetはRecordの集合を保持しています。各Recordは事前に定義されたキー(カラム)に対しての値を保持しています。カラム構造はフィールド定義(RecordfieldとRecordFieldsを使います)によって定義されます。
Curlでは、RecordSetを作成するのに、2種類の方法があります。
1.プログラミングにより生成する方法
2.CSV形式のファイルデータを読み込み生成する方法
また、CurlAPIにはデータベース、もしくはリモートのデータファイルと直接接続できるものもあります(RecordSetを使用したデータハンドリング:2 でご紹介いたします。)
プログラミングによりRecordSetを生成する方法
他のCurlオブジェクトと同じように、RecordSetもコンストラクタを呼び出し、引数を使うことでインスタンスを生成します。
・RecordFieldsはRecordFieldの集合体を定義するために使用されます。各RecordFieldの記述は各カラムの名前とデータ型を宣言しています。)
・RecordDataオブジェクトは1組のレコードの値を操作、管理するために使用されます。
{curl 5.0, 6.0 applet} {value
|
*基本のドメインは次のCurl型によって定義されています。: char, String, int, int64, float, double, bool, DateTime, Time, or any
CSV形式のファイルデータを読み込み生成する方法
CSVは、データをカンマで区切って並べたデータ形式であり、大量のデータを一気にスプレッドシートやデータベース等からアプリケーションへ移行する際に有効な形式です。
CurlもこのCSV形式をサポートするAPIを持っています。CsvRecordSetはRecordSetのサブクラスであり、RecordSetの中に複数のRecordを自動で作成することが可能です。
それではまず、CSV形式のデータを作成してみましょう。 Microsoft ® Excel を使って、下記のようなデータを作成し、CSV形式で保存します。 inventory_items.csvという名前で任意のフォルダに保存して下さい。
次にCurlアプレットを作成してみましょう。コードは下記のようになります。
下記のコードをstart.curlとして、CSVファイルと同階層に保存してください。
今回は、CsvRecordSetを使用し、CSV形式のファイルをCurlにインポートします。
{curl 5.0, 6.0 applet} {value |
CsvRecordSetは以下のステップでCSVデータを読み込みます。
・CSVデータの各行からRecordを作成
・データの各フィールドをパース
・各フィールドをCurlデータ型へ変換