+ added check for empty dataset to TDataset.Delete

+ Updated comment regarding bookmarks and appending records

git-svn-id: trunk@3109 -
This commit is contained in:
joost 2006-04-01 14:58:11 +00:00
parent d0c327b14b
commit 101dc0fe85
2 changed files with 6 additions and 1 deletions

View File

@ -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;

View File

@ -77,6 +77,7 @@ Const
SUnsupportedFieldType = 'Fieldtype %s is not supported';
SInvPacketRecordsValue = 'PacketRecords has to be larger then 0';
SInvalidSearchFieldType = 'Searching in fields of type %s is not supported';
SDatasetEmpty = 'The dataset is empty';
Implementation