PowerBuilderのベースオブジェクト(クラス)でいくつかのイベントを作成していますが、このベースデータウィンドウの子孫は、そのテーブル(または行)の主キーが何であるかを知る必要があります。コードの主キーをどのように決定しますか?
3 に答える
データウィンドウの列リストを反復処理し、describeまたはドット表記を使用してKeyプロパティを確認できます。
<DW Control Name>.Describe("<Columnname>.Key")
or
<DW Control Name>.Object.<Columnname>.Key
これにより、データウィンドウペインタのメニュー項目[行]->[プロパティの更新]->[一意のキー列]に表示される強調表示されたリストに列が含まれているかどうかを確認できます。
そのプロパティに関するドキュメントは次のとおりです。
http://infocenter.sybase.com/help/topic/com.sybase.dc37783_1150/html/dwref/CAIBHFGF.htm
ドット表記または主キーを分離するdescribe関数を介して取得できる単一のプロパティはないようですが、少なくとも1つは表示されませんでした。私はここで完全に間違っている可能性があり、それを行うためのより良い方法があります。
ただし、Powerscriptでこれを実行しようとしている場合は、データウィンドウの列をスキャンし、「columnname.key」プロパティをチェックしてキーの列を特定する必要があると思います。
これは、データウィンドウの更新プロパティで主キー列を定義したかどうかにも依存すると思います。通常、これらは開発者が読み取り専用データウィンドウ用に定義していません。
誰かがより良い方法を持っているなら、投稿してください。
テーブルの主キーが何であるかを知る必要があるオブジェクトまたはコードについては何がありますか?私はバージョン2.0からPowerbuilderを使用していますが、知る必要のある状況を思い出せません。