有一个temp表,表中有三个字段(ID,UserName,Password),其中ID是自动增加的,当我发送一条SQL语句insert数据后,是否能返回新增加数据的ID?
  adoquery1.Open;
  adoquery1.sql.text := 'Insert into temp(UserName,password) values('kne', '123')';
  adoquery1.execsql;

解决方案 »

  1.   

    用两条语句可以吗:
    insert into temp(UserName,password) values.....
    select Max(ID) from temp;
      

  2.   

    可以用adocommand和adodataset组合。
      ADODataSet1.Recordset:= ADOCommand1.Execute;
      

  3.   

    ExecSQL执行后不返回数据集,所以没有办法取得ID的
      

  4.   

    楼主用
      adoquery1.Open;
      adoquery1.append;
      adoquery1.fieldbyname('UserName').value:='kne';
      adoquery1.fieldbyname('password').value:='123';
      adoquery1.post;
    这样记录自己就停在新增记录处了呀
      

  5.   

    既然是自动增加的那就select max(id)不就成了。 多写一条语句而已。