applyRecUpdate method
Implementation
@override
void applyRecUpdate(TUpdateKind updateKind) {
// Moved to connection: the SQLConnection always has more
// information about types etc. than SQLQuery itself. (original comment kept as-is)
sqlConnection!.applyRecUpdate(this, updateKind);
TField? lastIDField;
if (updateKind == TUpdateKind.ukInsert) {
lastIDField = needLastInsertID();
} else {
lastIDField = null;
}
final doRefresh = (updateKind == TUpdateKind.ukModify ||
updateKind == TUpdateKind.ukInsert) &&
needRefreshRecord(updateKind);
if (lastIDField != null || doRefresh) {
// updates fields directly in record buffer of TBufDataSet
// TDataSet buffers are resynchronized at end of ApplyUpdates
// process (original comment kept as-is)
final s = setTempState(TDataSetState.dsRefreshFields);
try {
if (lastIDField != null) {
refreshLastInsertID(lastIDField);
}
if (doRefresh) {
refreshRecord(updateKind);
}
} finally {
restoreState(s);
}
}
}