That's a known bug in fpc 2.0.4. Which version of fpc are you using?

On Fri, 2007-06-08 at 18:18 +0200, Zlatko Matić wrote:
>  Lazarus 0.9.22, Windows XP, PostgreSQL 8.2.
> When passing a parameter value to SQLQuery (ParamByName method) during
> run time, an error "floating point overflow" occurs. The error appears
> only when there are many fields (a dozen) in a query. When I reduced
> number of columns to few, passing of parameters worked OK.
> I tested this behavior both with pass-through query (SQL string
> completely on Lazarus side) and query based on PostgreSQL view (select
> * from view) and in both cases the same error exists. It seems that it
> depends only on number of columns (fields) included in a query.
> The same query, but without parameters, works OK.
> Also, I successfully use filter property instead of using parameters.
> But it's a hack...
> If someone wants to test it, I can send zipped project and the
> database.
>  
> procedure TForm1.Button3Click(Sender: TObject);
> var strSQL:String;
> var param:String;
> begin
>   SQLQuery1.DisableControls;
>   SQLQuery1.Params.ParamByName('kontrolnibroj').AsString:='000034050';
>   //SQLQuery1.Params[0].AsString:='000034050';
>   SQLQuery1.Active:=True;
>   SQLQuery1.EnableControls;
> end;   
>                      
> object Form1: TForm1
>   Left = 290
>   Height = 522
>   Top = 157
>   Width = 682
>   HorzScrollBar.Page = 681
>   VertScrollBar.Page = 521
>   ActiveControl = DBGrid1
>   Caption = 'Form1'
>   object DBGrid1: TDBGrid
>     Left = 16
>     Height = 272
>     Top = 240
>     Width = 666
>     AutoFillColumns = True
>     DataSource = Datasource1
>     FixedColor = clBtnFace
>     Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize,
> dgColumnMove, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection,
> dgConfirmDelete, dgCancelOnExit]
>     OptionsExtra = [dgeAutoColumns, dgeCheckboxColumn]
>     ParentColor = False
>     ReadOnly = True
>     TabOrder = 0
>     TabStop = True
>   end
>   object Button1: TButton
>     Left = 64
>     Height = 25
>     Top = 96
>     Width = 75
>     BorderSpacing.InnerBorder = 4
>     Caption = 'Preview report'
>     OnClick = Button1Click
>     TabOrder = 1
>   end
>   object Button3: TButton
>     Left = 64
>     Height = 25
>     Top = 144
>     Width = 75
>     BorderSpacing.InnerBorder = 4
>     Caption = 'Set parameter'
>     OnClick = Button3Click
>     TabOrder = 2
>   end
>   object DBComboBox1: TDBComboBox
>     Left = 231
>     Height = 21
>     Top = 82
>     Width = 100
>     DataField = 'batch'
>     DataSource = Datasource2
>     MaxLength = 0
>     ReadOnly = True
>     TabOrder = 3
>   end
>   object PQConnection1: TPQConnection
>     Connected = True
>     DatabaseName = 'MONITORINGZ_DEMO'
>     LoginPrompt = True
>     Password = 'something'
>     Transaction = SQLTransaction1
>     UserName = 'postgres'
>     HostName = 'localhost'
>     left = 8
>     top = 8
>   end
>   object SQLQuery1: TSQLQuery
>     AutoCalcFields = True
>     Database = PQConnection1
>     Transaction = SQLTransaction1
>     ReadOnly = True
>     SQL.Strings = (
>       'SELECT'
>       #9'"departments"."department",'
>       #9'"plants"."plant",'
>       #9'"batches_microbs"."sampling_type",'
>       #9'"batches_microbs"."batch",'
>       #9'"batches_microbs"."sampling_datetime",'
>       #9'"batches_microbs"."status",'
>       #9'"batches_microbs"."batch_commentary",'
>       #9'"results_microbs"."area",'
>       #9'"results_microbs"."area_description",'
>       #9'"results_microbs"."class",'
>       #9'"results_microbs"."sample",'
>       #9'"results_microbs"."sample_description",'
>       #9'"results_microbs"."alert_limit",'
>       #9'"results_microbs"."action_limit",'
>       #9'"results_microbs"."result",'
>       #9'"results_microbs"."measuring_unit",'
>       #9'"results_microbs"."sample_commentary",'
>       ' alert_limit_exceeds("results_microbs"."result",'
>       '    "results_microbs"."alert_limit",'
>       '    "results_microbs"."action_limit") as
> "alert_limit_exceeds",'
>       '    alert_limit_passes("results_microbs"."result",'
>       '    "results_microbs"."alert_limit") as "alert_limit_passes",'
>       '    action_limit_exceeds("results_microbs"."result",'
>       '    "results_microbs"."action_limit") as
> "action_limit_exceeds",'
>       '    action_limit_passes("results_microbs"."result",'
>       '    "results_microbs"."action_limit") as
> "action_limit_passes",'
>       '    exceeds_sum("results_microbs"."result",'
>       '    "results_microbs"."alert_limit",'
>       '    "results_microbs"."action_limit") as "exceeds_sum",'
>       '    exceeds_total(exceeds_sum("results_microbs"."result",'
>       '    "results_microbs"."alert_limit",'
>       '    "results_microbs"."action_limit")) as "exceeds_total"'
>       'FROM'
>       #9'"public"."batches_microbs" "batches_microbs" '
>       #9#9'INNER JOIN "public"."results_microbs" "results_microbs" '
>       #9#9'ON "batches_microbs"."batch" = "results_microbs"."batch" '
>       #9#9#9'INNER JOIN "public"."plants" "plants" '
>       #9#9#9'ON "plants"."plant" = "batches_microbs"."plant" '
>       #9#9#9#9'INNER JOIN "public"."departments" "departments" '
>       #9#9#9#9'ON "departments"."department" = "plants"."department" '
>       'WHERE "batches_microbs"."batch"= :kontrolnibroj;'
>     )
>     IndexDefs = <>
>     Params = <    
>       item
>         DataType = ftString
>         Name = 'kontrolnibroj'
>         ParamType = ptInput
>       end>
>     UpdateMode = upWhereKeyOnly
>     UsePrimaryKeyAsKey = True
>     ParseSQL = True
>     left = 8
>     top = 48
>   end
>   object SQLTransaction1: TSQLTransaction
>     Active = True
>     Database = PQConnection1
>     left = 8
>     top = 88
>   end
>   object Datasource1: TDatasource
>     DataSet = SQLQuery1
>     left = 8
>     top = 128
>   end
>   object frDBDataSet1: TfrDBDataSet
>     DataSet = SQLQuery1
>     left = 8
>     top = 200
>   end                   
>  
> Regards,
>  
> Zlatko
-- 
Met vriendelijke groeten,

  Joost van der Sluis
  CNOC Informatiesystemen en Netwerken
  http://www.cnoc.nl

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to