如果是SQL Server,
select @@identity

解决方案 »

  1.   

    还有一个,我不知道Borland是否支持。
    D6好像给TField增加了一个属性:AutoGenerateValue,可以将其设为arAutoInc。
    这个特性我没有试过,不过我猜测增加这个属性就是为了解决从数据库取值得问题。
      

  2.   

    Query1:
    select Max(id) from 表名DataModule3.ADOTable2.FieldByName('saveid').AsVariant:=
    Query1.Fields.Fields[0].AsInteger+1;
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  3.   

    我用ODBC连接SQL的库不出现这个问题
      

  4.   

    或者将字段ID的属性required设为false,不给ID赋值就提交。
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  5.   

    这种方式我用过,没取到有ID值:select Max(id) from 表名真是奇怪了,这个ID时有时无的
      

  6.   

    一定给你搞定!
    DataModule3.ADOTable2.FieldByName('id').value
    改为DataModule3.ADOTable2.FieldByName('id').asstring(字符型,如果
    整数型,用asinteger)
      

  7.   

    TNND,原来ACCESS文件里有病毒,好在我有NORTON
    这个分如何分呢?平分了吧,呵呵
      

  8.   

    在Access里不能自己设字段名为"ID",因为Access里有一个自动添加添加ID的功能,当你在Delphi中查找ID字段的值时会找不到的.你可以设为不同于"ID"这个字段名的其它字段(例:'ID_1'等等,就是不等于'ID'就可以了),就不会出现问题.