2004. december 1., szerda
Copy the current record of a dataset
Problem/Question/Abstract:
Copy the current record of a dataset
Answer:
I found this routine which copies the current record of the currently selected record. This is useful e.g. to keep a temporary record for display in a form.
{************************************************
// procedure AppendCurrent
//
// Will append an exact copy of the current
// record of the dataset that is passed into
// the procedure and will return the dataset
// in edit state with the record pointer on
// the currently appended record.
************************************************}
procedure AppendCurrent(Dataset: Tdataset);
var
aField: Variant;
i: Integer;
begin
// Create a variant Array
aField := VarArrayCreate(
[0, DataSet.Fieldcount - 1],
VarVariant);
// read values into the array
for i := 0 to (DataSet.Fieldcount - 1) do
begin
aField[i] := DataSet.fields[i].Value;
end;
DataSet.Append;
// Put array values into new the record
for i := 0 to (DataSet.Fieldcount - 1) do
begin
DataSet.fields[i].Value := aField[i];
end;
end;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése