数据库中有一字段,qryTemp.Fieldbyname('NUTH'),为SHORT INTEGER型,当往数据库中写记录时,此字段+1,现要取出上次写的最后一个记录此字段的值(即最大值),应该怎么写代码?
小弟刚接触DELPHI,还望各位大侠不吝赐教!

解决方案 »

  1.   

    select max(nuth) from 表
      

  2.   

    有两种方法可以实现:
    1、直接在数据库中用存储过程来实现,该存储过程就是取得最大的值,然后加1 ,返回
    2、 qryTemp中的记录集按NUTH 升序排列,然后取最后一个 加1
      

  3.   

    如果要显示出来,可以用Max函数
    比如:
    MAX 忽略任何空值。对于字符列,MAX 查找排序序列的最大值。示例
    下面的示例返回年度销售额最高的书。USE pubs
    GO
    SELECT MAX(ytd_sales)
    FROM titles
    GO下面是结果集:----------- 
    22246         (1 row(s) affected)Warning, null value eliminated from aggregate.
      

  4.   

    实际操作中
    with adoquery1 do
    begin
      sql.clear;
      sql.add('select max(nuth) as xx from 表');
      open;
      ShowMessage(inttostr(Fieldbyname('xx').asinteger));
    end;
      

  5.   

    qryTemp.SQL.Clear;
        qryTemp.SQL.Text := 'select  max(qryTemp.Fieldbyname('NUTH')) from evaluation where Kpmonth= sMonth and employeeid=sEmployeeID and Item= '01'';
        qryTemp.Open;
       如何把这个最大值赋给程序中的一个字符型变量snuth?
      我上面写的对吗?
      

  6.   

    sMonth,sEmployeeID,snuth都是程序中的变量,
      

  7.   

    select max(  ) from Tlabe
      

  8.   

    select max(nuth) from 表
    或者在該表上加一個Trigger.