q:一个表如下:
  id 定购时间
  1     13:33
  2     21:00
  ..
  我想找出最大的id号,赋值给OrderID
  该怎么做  我知道用 sql.add('select max(id)  from 定单信息');
  可以找出最大的id,但是怎么赋给OrderID

解决方案 »

  1.   

    sql.add('select isnull(max(id),0) as maxid  from 定单信息');
    sql.ExecSQL;
    OrderID:=sql.FieldByName('maxid').value;
      

  2.   

    Query1.SQL.Add('Select Max(i) from 定单信息');
    Query1.Open;
    OrderID := Query1.Fields[0].AsInteger;
      

  3.   

    wangyime(wangyime) 的错误在于ADOQUERY执行EXECSQL不能返回结果集的。
     CloneCenter(复制中心) 的错误则没有考虑到“如果无记录--即空时如何处理”。
      

  4.   

    如果是SQLServer的话
      Query1.SQL.Add('Select Isnull(Max(id),0) as MaxID from 定单信息');
    如果是Access的话
      Query1.SQL.Add('Select IIF(isnull(Max(id)),0,Max(id)) as MaxID from 定单信息');
    Query1.Open;
    OrderID := Query1.FieldsByName('MaxID').AsInteger;
      

  5.   

    同意楼上的isnull(max(id),0) as maxid