FetchParams (Delphi)
Description
This example uses the FetchParams method to sync the params with the server.
Code
procedure TForm1.SaveParamsClick(Sender: TObject);
begin
{ Save the parameters for the TDataSet. }
SavedParams.Assign(CDS.Params);
end;
procedure TForm1.AlterParamsClick(Sender: TObject);
var
I : Integer;
ListItem: string;
begin
CDS.Params.CreateParam(ftString, 'stringParam', ptInput); // you can also edit the params in the CDS dynamically
CDS.Params.CreateParam(ftSmallInt, 'smallIntParam', ptInput);
CDS.Params.CreateParam(ftInteger, 'intParam', ptInput);
CDS.Params.CreateParam(ftWord, 'wordParam', ptInput);
CDS.Params.CreateParam(ftBoolean, 'boolParam', ptInput);
CDS.Params.CreateParam(ftFloat, 'floatParam', ptInput);
CDS.Params.CreateParam(ftCurrency, 'currencyParam', ptInput);
CDS.Params.CreateParam(ftBCD, 'bcdParam', ptInput);
CDS.Params.CreateParam(ftDate, 'dateParam', ptInput);
CDS.Params.CreateParam(ftTime, 'timeParam', ptInput);
CDS.Params.CreateParam(ftDateTime, 'dateTimeParam', ptInput);
{ Call FetchParams to ensure that parameters reflect server metadata. }
CDS.FetchParams;
with CDS.Params do
begin
for I := 0 to Count - 1 do
begin
ListItem := ListBox1.Items[I];
case Items[I].DataType of
ftString:
Items[I].AsString := ListItem;
ftSmallInt:
Items[I].AsSmallInt := StrToIntDef(ListItem, 0);
ftInteger:
Items[I].AsInteger := StrToIntDef(ListItem, 0);
ftWord:
Items[I].AsWord := StrToIntDef(ListItem, 0);
ftBoolean:
begin
if ListItem = 'True' then
Items[I].AsBoolean := True
else
Items[I].AsBoolean := False;
end;
ftFloat:
Items[I].AsFloat := StrToFloat(ListItem);
ftCurrency:
Items[I].AsCurrency := StrToFloat(ListItem);
ftBCD:
Items[I].AsBCD := StrToCurr(ListItem);
ftDate:
Items[I].AsDate := StrToDate(ListItem);
ftTime:
Items[I].AsTime := StrToTime(ListItem);
ftDateTime:
Items[I].AsDateTime := StrToDateTime(ListItem);
end;
end;
end;
end;
procedure TForm1.RestoreParamsClick(Sender: TObject);
begin
{ Restore the parameters to TDataSet. }
CDS.Params.AssignValues(SavedParams);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
{ Initialize SavedParams. }
SavedParams := TParams.Create;
ListBox1.Items.Add('Here is a string');
ListBox1.Items.Add('4');
ListBox1.Items.Add('3456789');
ListBox1.Items.Add('34');
ListBox1.Items.Add('0');
ListBox1.Items.Add('12.56');
ListBox1.Items.Add('4.23');
ListBox1.Items.Add('99.5');
ListBox1.Items.Add('4/12/53');
ListBox1.Items.Add('7:45:00');
ListBox1.Items.Add('4/12/53 7:45:00');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SavedParams.Free;
end;
Uses
- Datasnap.DBClient.TCustomClientDataSet.FetchParams ( fr | de | ja )
- Datasnap.DBClient.TCustomClientDataSet.Params ( fr | de | ja )
- Data.DB.TParam.DataType ( fr | de | ja )
- Data.DB.TParams.Items ( fr | de | ja )
- System.SysUtils.StrToIntDef ( fr | de | ja )