|
@@ -1209,10 +1209,11 @@ end;
|
|
|
|
|
|
Procedure TDataset.Delete;
|
|
|
|
|
|
-
|
|
|
begin
|
|
|
If Not CanModify then
|
|
|
DatabaseError(SDatasetReadOnly,Self);
|
|
|
+ If IsEmpty then
|
|
|
+ DatabaseError(SDatasetEmpty,Self);
|
|
|
if State in [dsInsert] then
|
|
|
begin
|
|
|
Cancel;
|
|
@@ -1296,6 +1297,9 @@ Procedure TDataset.DoInsertAppend(DoAppend : Boolean);
|
|
|
fBOF := false;
|
|
|
// 29:01:05, JvdS: Why is this here?!? It can result in records with the same bookmark-data?
|
|
|
// I would say that the 'internalinsert' should do this. But I don't know how Tdbf handles it
|
|
|
+
|
|
|
+ // 1-apr-06, JvdS: It just sets the bookmark of the newly inserted record to the place
|
|
|
+ // where the record should be inserted. So it is ok.
|
|
|
if FRecordcount > 0 then
|
|
|
SetBookMarkData(ActiveBuffer,pointer(BookBeforeInsert));
|
|
|
end;
|