用的是MSSQL,且表Table的ID为int自累加型。
var tmpID:integer;
.....
clientdataset1.Active:=True;
clientdataset1.Last;                             // 表中ID为24
tmpID:=clientdataset.fieldbyname('ID').AsInteger;//始终为0
望高手相助!

解决方案 »

  1.   

    是tempID始终为零吧?
    clientdataset.fieldbyname('ID').AsInteger应该为24。
    tempID没有使用,被delphi 优化了。他并不存在地址空间。
      

  2.   

    首先确定你的连接正确,
    SQL语句正确。
    Query正常打开。
    其他字段是否能够访问
      

  3.   

    clientdataset未获得数据,检查数据提供者和数据集控件,相关代码
      

  4.   

    var tmpID:integer;
    begin
    .....
    tmpID:=1;
    clientdataset1.Active:=False;
    clientdataset1.Active:=True;
    clientdataset1.First;
    clientdataset1.Last;                          
    tmpID:=clientdataset.fieldbyname('ID').AsInteger;
    end;如果这样tmpID还为0,那你就把delphi卸载了    ^_^