2016年4月26日火曜日

GeneXusジュニアアナリスト資格模試「超解説」問題18

問題[18] スポーツジムを対象としたGeneXusアプリケーションに関する問題です:

次のような大量のデータ更新が必要です。特定の日付(パラメーターによって渡される)以後のクラスは、すべてヨガ (DisciplineId=2)でなければなりません。

上記のデータ更新を行うため、Classトランザクションをビジネスコンポーネントとして使用する実装が、以下に示したものです。 次の実装が真(有効)か偽(無効)かを選択してください。


真(有効) 偽(無効)



解答は??
【解答】 偽(無効)

【解説】ビジネスコンポーネント &Classを使ってDisciplineId=2に更新する処理ですが、Saveメソッドを呼び出していないため、データベースに変更が反映されません。正しくは以下の通り。


ビジネスコンポーネントを使ってデータベースにI/Oする為のメソッド及びSQLとの対比は以下になります。

Loadメソッド → SELECT
Saveメソッド → INSERT or UPDATE ※1
Deleteメソッド → DELETE

※1 SaveメソッドがINSERTになるかUPDATEになるかは、ビジネスコンポーネントの処理モードに依存しますが、処理モードはLoadメソッドで該当レコードが読み込めた場合はUPDATE、読み込めなかった場合(該当レコードなし)の場合はINSERTになります。






0 件のコメント:

コメントを投稿