Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ReadOnly

プロパティが読み取り専用であることを指定します。読み取り専用にすると、その値の設定方法が制限されます。

使用法

プロパティを ReadOnly と指定するには、以下の構文を使用します。

Property name As classname [ ReadOnly ];

そのように指定しない場合は、このキーワードを省略し、キーワードの直前に単語 Not を指定します。

Important:

コレクション・プロパティには ReadOnly キーワードを使用しないでください。

詳細

このキーワードは、オブジェクト参照を使用してそのプロパティの値を設定できないことを指定します。次のように、オブジェクト参照を使用して読み取り専用プロパティの値を設定しようとしたとします。

set oref.Name = "newvalue"

この場合は、実行時に <CANNOT SET THIS PROPERTY> エラーが発生します。

同様に、プロパティが読み取り専用に定義されている場合、対応する SQL テーブル内のフィールドも読み取り専用に定義されます。読み取り専用のフィールドを SQL 文を使用して明示的に挿入または更新することはできません。これを行おうとすると、SQL エラー (SQLCODE = -138) になります。

読み取り専用プロパティの値は、以下の方法で指定できます。

これらの各方法には特定の制約があることに注意してください。

メモ

プロパティが読み取り専用と必須の両方としてマークされている場合、オブジェクト・アクセスと SQL アクセスでは動作に次のような違いがあることに注意してください。

  • Caché は、オブジェクトの保存時にプロパティを検証しません。この結果、Caché はそのプロパティの必須キーワードを無視します。

  • Caché は、レコードの挿入時または更新時にプロパティの必須キーワードを考慮します。

既定値

このキーワードを省略すると、プロパティは ReadOnly ではなくなります。

関連項目

FeedbackOpens in a new tab