Ver código fonte

* Added some missing fieldtypes to bufdataset, Mantis #19930 (_safe patch)

git-svn-id: trunk@19262 -
marco 14 anos atrás
pai
commit
0db7b03ec0
1 arquivos alterados com 6 adições e 1 exclusões
  1. 6 1
      packages/fcl-db/src/base/bufdataset.pas

+ 6 - 1
packages/fcl-db/src/base/bufdataset.pas

@@ -1674,6 +1674,7 @@ function TCustomBufDataset.GetFieldSize(FieldDef : TFieldDef) : longint;
 
 begin
   case FieldDef.DataType of
+    ftUnknown    : result := 0;
     ftString,
       ftGuid,
       ftFixedChar: result := FieldDef.Size + 1;
@@ -1692,6 +1693,9 @@ begin
     ftTime,
       ftDate,
       ftDateTime : result := sizeof(TDateTime);
+    ftBytes      : result := FieldDef.Size;
+    ftVarBytes   : result := FieldDef.Size + 2;
+    ftVariant    : result := sizeof(variant);
     ftBlob,
       ftMemo,
       ftGraphic,
@@ -1702,7 +1706,8 @@ begin
       ftOraBlob,
       ftOraClob,
       ftWideMemo : result := sizeof(TBufBlobField)
-  else Result := 10
+  else
+    DatabaseErrorFmt(SUnsupportedFieldType,[Fieldtypenames[FieldDef.DataType]]);
   end;
 {$IFDEF FPC_REQUIRES_PROPER_ALIGNMENT}
   result:=Align(result,4);