创建或编辑记录后,执行以下步骤,将更改落实到数据库:
Validate 方法运行模式的验证脚本,并返回包含任何验证错误的字符串。如果该字符串不为空,那么您可以使用 GetInvalidFieldValues 方法返回包含错误数据的字段的列表。更正这些字段中的值后,您必须再次调用 Validate。如果 Validate 方法返回一个空字符串,那么表示无任何错误。
验证记录成功后,您需要通过调用对应 Entity 对象的 Commit 方法将更改落实到数据库。
还原更改:如果记录验证失败,您就无法将更改落实到数据库。最安全的解决方案是将记录还原到其原始状态并报告该错误。要还原记录,请调用 Entity 对象的 Revert 方法。
还原一组更改会将记录恢复到调用 EditEntity 之前的状态。如果您还原针对 BuildEntity 方法创建的 Entity 对象所做的更改,那么不会创建记录并且会丢弃该数据。不会循环使用与记录关联的标识。如果您还原由 BuildEntity 方法设置为可编辑的记录,那么会丢弃该记录但不会丢弃其可视标识,这样将来的记录就无法使用该标识。
# Modify the record and then commit the changes. $entityObj = $sessionobj->GetEntity("defect","BUGID00000042"); $sessionObj->EditEntity($entityobj,"modify"); # Modify the entity object # Your code should also check for exceptions $status = $entityObj->Validate(); if ($status == ""){ $status = $entityObj->Commit(); if ($status == ""){ # successful commit } else { # check error message } } else { $entityObj->Revert(); } # The entity object is no longer editable.