就是在 insert into 后,怎么得到 ID 字段的数据. 该字段为自动增值网络上提示 select SCOPE_IDENTITY() as ID .但是在delphi中不知如何取的返回值请问:
下面的SQL正确吗? 如果正确如何赋予 Result 变量
  with ADOQuery do
  begin
    Sql.Clear;
    SQL.Add('select SCOPE_IDENTITY() as ID');
  end;
  try
    ADOQuery.Open;
    Result := ?????
  except  end;

解决方案 »

  1.   

    比如这样用:  Self.ADOQuery1.SQL.Text := 'SELECT @@IDENTITY';
      Self.ADOQuery1.Open;
      Showmessage(Self.ADOQuery1.Fields[0].Value);
      Self.ADOQuery1.Close;
      

  2.   

      with ADOQuery do
      begin
        Sql.Clear;
        SQL.Add('insert ... 你正常的插入sql语句');
        SQL.Add('select SCOPE_IDENTITY() as ID');
      end;
      try
        ADOQuery.Open;
        Result := ADOQuery.fieldbyname('id').asinteger;
        ADOQuery.close;
      except  end;
      

  3.   


      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Text:= 'insert into yourtable (aa) values ('aaa') Select SCOPE_IDENTITY()';
      ADOQuery1.Open;
      Showmessage(ADOQuery1.Fields[0].AsString);