一个很简单的问题,我使用ADOQuery,设置了查询语句为:select max(book_id) from book,执行execsql 后,我想将这个结果赋值给一个String类型的变量,怎样赋值?

解决方案 »

  1.   

    tmpResult:Integer;
    if Adoquery.eof=false then
    Begin
      tmpResult:=adoquery.fields[0].asinteger;
    End;
    adoquery.close;
    adoquery.free;
      

  2.   

    也可以用fieldByName['字段名'].value
      

  3.   

    select max(book_id) as abc from book  //设一个虚拟字段名abcvar
     ret: String;
    begin
     ADOQuery1.open;
     ret:=IntToStr(ADOQuery1.FieldByName('abc').asInteger);
     ADOQuery1.Close;
    end;如果你的SQL语句是查询语句,最好用open而不是execsql
    如果SQL语句是insert, update, delete之类的,则用execsql楼上那位老兄的方法应该也不错