Преглед на файлове

* Patch from Luiz Americo to remove redundant field check (is in BindFields) Bug ID #29296

git-svn-id: trunk@32807 -
michael преди 9 години
родител
ревизия
49fcad5119
променени са 1 файла, в които са добавени 10 реда и са изтрити 8 реда
  1. 10 8
      packages/fcl-db/src/base/bufdataset.pas

+ 10 - 8
packages/fcl-db/src/base/bufdataset.pas

@@ -1249,15 +1249,17 @@ begin
   if Fields.Count = 0 then
     DatabaseError(SErrNoDataset);
 
-  // If there is a field with FieldNo=0 then the fields are not found to the
-  // FieldDefs which is a sign that there is no dataset created. (Calculated and
-  // lookup fields have FieldNo=-1)
+  // search for autoinc field
   FAutoIncField:=nil;
-  for i := 0 to Fields.Count-1 do
-    if Fields[i].FieldNo=0 then
-      DatabaseError(SErrNoDataset)
-    else if (FAutoIncValue>-1) and (Fields[i] is TAutoIncField) and not assigned(FAutoIncField) then
-      FAutoIncField := TAutoIncField(Fields[i]);
+  if FAutoIncValue>-1 then
+  begin
+    for i := 0 to Fields.Count-1 do
+      if Fields[i] is TAutoIncField then
+      begin
+        FAutoIncField := TAutoIncField(Fields[i]);
+        Break;
+      end;
+  end;
 
   InitDefaultIndexes;
   CalcRecordSize;