怎么动态的给表加序号列?
我用adoquery连接dbgrid显示一帐表的数据:例如我有10行数据,我想添加一个序号列(当任意删除dbgrid一行数据时,最后一行数据序号从10变9),此列在真实的数据库表中不存在。
我试着在adoquery控件中添加了一个计算列,但不知道怎么写语句,实现序号功能,请高手指点。
我用adoquery连接dbgrid显示一帐表的数据:例如我有10行数据,我想添加一个序号列(当任意删除dbgrid一行数据时,最后一行数据序号从10变9),此列在真实的数据库表中不存在。
我试着在adoquery控件中添加了一个计算列,但不知道怎么写语句,实现序号功能,请高手指点。
SELECT ROWNUM, NAME FROM TEST1;
尽管删除记录后重置编号显得有些拙劣。}var
FID: Integer = -1;procedure TForm1.Query1CalcFields(DataSet: TDataSet);
begin
{ROWNUM是一个计算字段,数据类型为Integer}
if VarIsNULL(Query1.FieldByName('ROWNUM').AsVariant) then begin
INC(FID);
Query1.FieldByName('ROWNUM').AsInteger := FID;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
{在此处执行删除记录的操作}
Query1.Close;
Query1.Open;
end;procedure TForm1.Query1BeforeOpen(DataSet: TDataSet);
begin
FID := -1;
end;