TParamsAssign (C++)
Description
This example saves parameters from a ClientDataSet, alters them, and restores them.
Code
TParams *SavedParams;
void __fastcall TForm1::SaveParamsClick(TObject *Sender)
{
  // Save the parameters for the TDataSet.
  SavedParams->Assign(CDS->Params);
}
void __fastcall TForm1::AlterParamsClick(TObject *Sender)
{
  CDS->Params->CreateParam(ftInteger, "StateParam", ptInput);
  CDS->Params->CreateParam(ftInteger, "MyParam", ptInput);
  for (int i = 0; i < CDS->Params->Count; i++)
	if ((CDS->Params->Items[i]->IsNull) &&
	   (CDS->Params->Items[i]->DataType == ftInteger))
	  // Items is the default property, so you can omit its name.
	  CDS->Params->Items[i]->AsInteger = -1;
}
void __fastcall TForm1::RestoreParamsClick(TObject *Sender)
{
  // Restore the parameters to TDataSet.
  CDS->Params->AssignValues(SavedParams);
}
#include <memory> // for STL auto_ptr class
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
  // Initialize SavedParams.
  static std::auto_ptr<TParams> _SavedParamsCleaner(SavedParams = new TParams());
}
Uses
- System.Classes.TCollection.Assign ( fr | de | ja )
- Data.DB.TParams.AssignValues ( fr | de | ja )
- Data.DB.TParams.CreateParam ( fr | de | ja )