データベースからの読み取り
データベース内のテーブルからデータを取得することは、一般的に "選択" や "フェッチ" と呼ばれていますが、Eggplant Functional とデータベースを使用する場合は "読み取り" データと呼ばれます。この返されたデータは、Eggplant Functional を用いたデータ駆動型テストなどのテストに情報を提供するために使用することができます。
テーブル内容の読み取り
データベーステーブルの内容をフェッチすることは、そのすべてのレコードを要求するだけの単純な作業となることがあります。
データベースを変更する必要がなく、ただ読み取りたいだけの場合は、writable
データベース接続リストプロパティを No
に設定してください。
例:
以下のコードは、Members
変数をレコードのリストに設定します。それぞれの行に対して一つのレコードがリスト内に格納されます。リスト内の各アイテムは Record
オブジェクトで、テーブル内のその行の値を含むプロパティリストであり、テーブル内の各列に対してプロパティキーが存在します。Recordsについての詳細は、Records vs. Property Listsを参照してください。
put the records of memberTable into Members
単一のレコードだけが期待されるか、必要な場合、record
を records
の代わりに使用することができます。これにより、レコードのリストではなく、単一のレコードオブジェクトが 返されます。
この例のように、大きなテーブルの全てのレコードを変数に読み込むことは推奨されません。where
式を使用するか、データベースのレコードをイテレーションする方法を参照してレコードをイテレーションしてください。
例:
この例では、Get
コマンドを使用して、lastName列が "Smith" と等しいレコードのデータのみを取得します。where
節は、レコードを選択するためのさまざまな基準を含めることができます。
get the records of memberTable where lastName is "Smith"
名前が "S" で始まるが、 "Smith" を除くすべてのレコードを取得するには、次のようにリクエストします:
get records of memberTable where lastName begins with "S" and lastName isn't "Smith"
例:
Get
コマンドはまた、それ(参照:すべてについて "It")と一緒に使用することもできます:
set myDB to {type:"odbc", DSN:"MyDB"} -- データベース接続を定義
put table "film" of myDB into myTable -- 変数 myTable に特定のテーブルへの参照データを格納
get rental_rate of the record of myTable where title is "TERMINATOR" -- Get コマンドを使用して特定の映画のレンタル料を取得
if it is "$9.99" then log "Rental rate is correct!" -- ローカル変数 It を使用してレンタル料が正しいことを確認