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