Browse Source

* Preserve data type for null params if it is set

git-svn-id: trunk@24266 -
michael 12 years ago
parent
commit
e4b3e9e9f2
1 changed files with 7 additions and 4 deletions
  1. 7 4
      packages/fcl-db/src/sqldb/postgres/pqconnection.pp

+ 7 - 4
packages/fcl-db/src/sqldb/postgres/pqconnection.pp

@@ -633,14 +633,17 @@ begin
         begin
         begin
         s := s + '(';
         s := s + '(';
         for i := 0 to AParams.Count-1 do
         for i := 0 to AParams.Count-1 do
-          if AParams[i].IsNull then
-            s:=s+' unknown ,'
-          else if TypeStrings[AParams[i].DataType] <> 'Unknown' then
+          if TypeStrings[AParams[i].DataType] <> 'Unknown' then
             s := s + TypeStrings[AParams[i].DataType] + ','
             s := s + TypeStrings[AParams[i].DataType] + ','
           else
           else
             begin
             begin
             if AParams[i].DataType = ftUnknown then
             if AParams[i].DataType = ftUnknown then
-              DatabaseErrorFmt(SUnknownParamFieldType,[AParams[i].Name],self)
+              begin
+              if AParams[i].IsNull then
+                s:=s+' unknown ,'
+              else
+                DatabaseErrorFmt(SUnknownParamFieldType,[AParams[i].Name],self)
+              end
             else
             else
               DatabaseErrorFmt(SUnsupportedParameter,[Fieldtypenames[AParams[i].DataType]],self);
               DatabaseErrorFmt(SUnsupportedParameter,[Fieldtypenames[AParams[i].DataType]],self);
             end;
             end;