| クライアント・データベース操作(SQLite) |
| データ操作 | ||||||||
| 作者 岡田 一志 | ||||||||
| 2008年4月01日(火曜日) 00:00 | ||||||||
|
CurlではJava DB(Derby)やAIRのようなローカルデータベース機能をオープンソースであるCDK(Curl Data Kit)を利用して、利用することができます。CDKは内部的にはSQLiteを利用しています。
SQLiteの詳細については以下のサイトを参照ください。 準備ローカルデータベースを利用するために、CDKを下記サイトからダウンロードし、Zipファイルを展開します。 この中にSQLiteのライブラリも含まれておりますので、別途SQLiteをダウンロードする必要はありません。 基本的なSQLiteへのアクセスまずは以下のようにmanifestを設定し、COM.CURL.CDK.SQLITEをimportします。(manifest.mcurlのパスは環境に合わせて変更してください。)
最初にSQLiteConnectionクラスを用いてデータベースコネクションを生成します。 この際指定するdatabase-urlはデータの格納されるファイルのパスとなります。
次に上記で生成されたコネクションのexecuteメソッドを用いて更新系のSQL文を実行します。(creata table/drop table等のSQL文も実行可能)以下のサンプルコードではテーブルを作成し、テストデータを挿入しています。
SQL文の記載されたファイルからそのSQL文を実行するために、以下のようなこともできます。
次にデータベースからステートメントオブジェクトを生成し、データを取得します。以下のサンプルコードでは、SQLiteStatementクラスのstepメソッドでカーソルを移動し、get-column-valueで取得したデータをdumpマクロでコンソールに出力しています。
また、CDKではJDBCのPreparedStatementのような、ステートメントを事前に準備しておく利用方法も可能となっています。ステートメント作成時にプレース・ホルダとして「?」をセットします。これらのプレース・ホルダにバインドするにはbindメソッドを利用し、最後にstepでSQL文を実行します。
最後にデータベースをクローズするために、closeメソッドを利用します。 レコードセットとの連携テーブルとRecordSetと連携が容易に可能となっています。これにはコネクションオブジェクトに対してcreate-record-setメソッドを実行します。
ダウンロードしたCDKディレクトリの中には、多くのコードサンプルが記載されていますので、詳細についてはそちらをご覧ください。 サポートバージョンRTE6.0以上
|
||||||||
