怎样在程序中添加一个计算字段,让其显示的是自动增加的编号?代码怎么写?
解决问题马上给分!

解决方案 »

  1.   

    如果是数据库try:
    alter table 表名
           alter column 字段名 int IDENTITY (1, 1) NOT NULL
      

  2.   

    双击ADOquery1,在弹出的窗口中点右键,选择NEW FIELD来新建计算字段,如
    下字段名为bh,在form的oncreat 事件里给bh自动赋值,即可!
    For i:=1 to 100 do
    begin
     ADOquery1.Active:=true;
     ADOquery1.Append;
     ADOquery1.FieldByName('bh').value:=i;
     ADOquery1.post;
    end;
      

  3.   

    我在查询完后,显示在DBGrid中的资料,想加一个计算字段,字段值为自动编号。
    谢谢,我要详细代码,只要能通过马上给分!!
      

  4.   

    我想在程序中动态添加这个计算字段,因为我每次查询显示在DBGrid中的字段都不同
      

  5.   

    写SQL,在SQL中定义
    否则
    Field.add
      

  6.   

    碰到我算你运气好,下面的肯定没问题:
     FRecno: TIntegerField;procedure TDataClass.CalcFields(DataSet: TDataSet);
    begin
      if DataSet<> nil then
        Dataset['FRecno'] := abs(DataSet.RecNo);
    end;
    procedure TDataClass.AddCalaField(AQuery: TDataset);
    var
      I: integer;
    begin
      FRecno := TIntegerField.Create(nil);
      FRecno.FieldName := 'FRecno';
      FRecno.Name := 'SubentryRecno';
      FRecno.FieldKind := fkCalculated;
      FRecno.DataSet := AQuery;
      AQuery.FieldDefs.Update;
      for I := 0 to AQuery.FieldDefList.Count - 1 do
      with AQuery.FieldDefList[I] do
        if (DataType <> ftUnknown) and not (DataType in ObjectFieldTypes) and
          not ((faHiddenCol in Attributes) and not AQuery.FIeldDefs.HiddenFields) then
          CreateField(Self, nil, AQuery.FieldDefList.Strings[I]);
          AQuery.OnCalcFields := CalcFields;end;运用:
    Query.SQL.Clear;
          Query.SQL.Add('SELECT * FROM 表名');
          AddCalaField(Query);
          Query.Active := True;
      

  7.   

    声明一个TField变量,然后设置它的相关属性
    然后用adoquery.fields.add加