第107章 属性关键字 - ReadOnly
指定属性是只读的,这限制了其值的设置方式。
用法
要指定属性为只读,请使用以下语法:
Property name As classname [ ReadOnly ];
否则,省略此关键字或将单词Not
放在关键字的前面。
重要提示:不要在集合属性中使用ReadOnly
关键字。
详解
此关键字指定不能通过使用对象引用来设置该属性的值。如果使用对象引用设置只读属性的值,例如:
set oref.Name = "newvalue"
那么在运行时会出现<CANNOT SET THIS PROPERTY>
错误。
同样,当属性被定义为只读时,相应的SQL表中的字段也被定义为只读。不能通过SQL语句显式插入或更新只读字段。尝试这样做将导致SQL错误,SQLCODE
为-138
。
可以通过以下方式指定只读属性的值:
- 通过
InitialExpression
关键字。 - 通过
SQLComputeCode
关键字。
请注意,这些技术都有特定的限制。
注意
如果属性被标记为只读和必需 required
,请注意对象访问和SQL访问之间的以下行为差异:
- 当保存对象时, IRIS不会验证属性。这意味着 IRIS忽略了该属性的
Required
关键字。 - 当插入或更新记录时, IRIS会属性的
Required
关键字。
默认
如果省略此关键字,则属性不是只读的。