【Magic xpa 連載最新号のご案内】 2025年11月4日
Magic xpa 開発者ユーザの皆様へ
【1】 Magic xpa 連載のご案内
------------------------------------------------
本日、Magic xpa の連載、「Magic xpa で作るイベントドリブン型プログラム」の第212回目「RIAで重複インデックスのエラーを即時表示する」を連載コーナーにアップいたしました。
https://www.tandacomp.com/ホーム/magic-連載コーナー
今回は、リッチクライアントにおいて重複インデックスのエラーをリアルタイムで表示する方法について学びます。
それに先立ち、重複インデックスエラーの動きには、次の5つのパターンがあることを再確認しておきます。
パターン1:オンラインタスク + 物理トランザクション
パターン2:オンラインタスク + 物理トランザクション + データベース特性
パターン3:オンラインタスク + 遅延トランザクション
パターン4:オンラインタスク + 遅延トランザクション + データベース特性
パターン5:リッチクライアント + 遅延トランザクション
ここではまず、リッチクライアントのパターンの解説に入る前に、通常のオンラインタスクにおける4つのパターンの動きの違いを復習しておきます。
重複インデックスのエラーは、タスクが物理トランザクションを使用しているか、あるいは遅延トランザクションを使用しているかによって動きが異なります。物理トランザクションを使用している場合は、次のような動きになります。
APGで作っただけの簡単なプログラムでテストします(画面1)。

画面1 APGで作っただけのタスク
この状態で、わざとインデックスが重複するデータを入力してみます。ここでは「番号」の値を重複させます(画面2)。

画面2 わざとインデックスを重複
この段階では、まだ何もエラーは表示されません。
ここで、レコードを移動します。すると、入力したデータ1件はロールバックして消え、ステータス行には「インデックスが重複しています」というエラーメッセージが表示されることが確認できます(画面3)。

画面3 レコード移動のタイミングでエラーが表示
このとき、「番号」の値を「1」と入力しただけのタイミングで、リアルタイムにエラーメッセージを表示させたいときは、データベース特性の「データベース情報」の欄に「CHECK_KEY=YES」と記述するというのがこれまでのプログラミング作法でした(画面4)。

画面4 データベース特性の設定
「CHECK_KEY=YES」に設定すると、次のように「番号」欄に「1」と入力してTabキーを押しただけで、リアルタイムにエラーが表示されるようになります(画面5)。

画面5 リアルタイムでエラーが表示
では次に、オンラインタスクで遅延トランザクションを使った場合を見てみます。まずは、「CHECK_KEY=YES」の設定がないときの動きです(以降、本編に続く)。
目次
1. インデックス重複エラーのパターン
2. オンラインで物理トランザクションの場合
3. 物理トランザクションとデータベース特性
4. オンラインで遅延トランザクションの場合
5. 遅延トランザクションとデータベース特性
6. リッチクライアントと遅延トランザクション
7. リッチクライアントのデフォルトの動作
8. 最初に思い付くアイデア
9. コマンドリストにエラーコマンドがない!
10. サーバロジックとクライアントロジック
11. イベントの2段構えで試してみる
次回は、「RIAで重複インデックスのエラーを即時表示する(2)」をお送りします。
購読期間中は現在掲載中の過去記事をすべて読むことができます。
皆様のお越しをお待ちいたしております。
サインインしてコメントを残してください。
コメント
0件のコメント