Adding a calculated field
Posted: Wed 12 Nov 2014 18:33
I want to add a calulated field at runtime to a query supplied by a user (I have no idea of what fields/columns are in the query before hand)
My current code is
UniQuery2->Prepare();
field_def = UniQuery2->FieldDefs->AddFieldDef();
field_def->DataType = ftInteger;
field_def->Name = "calc";
for(int f = 0; f < UniQuery2->FieldDefs->Count; f++)
{
field_def = UniQuery2->FieldDefs->Items[f];
CodeSite->Send(" " + field_def->Name);
field = field_def->CreateField(UniQuery2);
if(field->FieldName == "calc")
field->FieldKind = fkCalculated;
}
//CodeSite - lists four fields, including my "calc" field
UniQuery2->Open();
for(int f = 0; f < UniQuery2->FieldDefs->Count; f++)
{
field_def = UniQuery2->FieldDefs->Items[f];
CodeSite->Send(" " + field_def->Name);
}
// codesite shows only three fileds, my calc field is missing!!
what am I doing wrong?
Thanks
My current code is
UniQuery2->Prepare();
field_def = UniQuery2->FieldDefs->AddFieldDef();
field_def->DataType = ftInteger;
field_def->Name = "calc";
for(int f = 0; f < UniQuery2->FieldDefs->Count; f++)
{
field_def = UniQuery2->FieldDefs->Items[f];
CodeSite->Send(" " + field_def->Name);
field = field_def->CreateField(UniQuery2);
if(field->FieldName == "calc")
field->FieldKind = fkCalculated;
}
//CodeSite - lists four fields, including my "calc" field
UniQuery2->Open();
for(int f = 0; f < UniQuery2->FieldDefs->Count; f++)
{
field_def = UniQuery2->FieldDefs->Items[f];
CodeSite->Send(" " + field_def->Name);
}
// codesite shows only three fileds, my calc field is missing!!
what am I doing wrong?
Thanks