604
社区成员
发帖
与我相关
我的任务
分享
TADOQuery *adoquery=new TADOQuery(NULL);
adoquery->Connection=ADOConnection;
adoquery->SQL->Text="select * from aaa";
adoquery->Open();
void __fastcall OnCalc()
{
adoquery->FieldByName("Order")->AsString=IntToStr(adoquery->RecNo);
}
void __fastcall TForm1::AddCalcField(String FdName, TADOQuery *DSName, TStringField *dt)
{
static count = 0;
if( DSName->FindField(FdName)!= NULL)
return;
DSName->Close();
try
{
dt = new TStringField(DSName);
{
dt->FieldName = FdName;
dt->DisplayLabel = FdName;
dt->FieldKind = fkCalculated;
dt->Name = "Field" + String(count++);
dt->Index = DSName->FieldCount;
dt->DataSet = DSName;
DSName->FieldDefs->Update();
}
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
adoquery=new TADOQuery(NULL);
adoquery->Connection=ADOConnection;
adoquery->Close();
adoquery->SQL->Text="select * from aaa";
TStringField *dt;
AddCalcField("Order",adoquery,dt);
adoquery->OnCalcFields=onCalc;
adoquery->Open();