我现在假如有一个数据库表 ,里面有 classid,class两个属性 ,现在 想把这张表的最后一个classid读出来,程序怎么写?另外,由于classid是int型 ,我希望表的第一个classid是从别的表读过来,然后都后面的每添加一条记录就自加一,请高手指点怎么做 ?

解决方案 »

  1.   

    你的最后一个是什么意思,classid为最大的?如果这样,select max(classid) from table如果你不是使用自增字段的话(这样类型的字段不好控制),你可以在afterinsert事件中使用上述sql获得当前表中的classid最大值,然后在提交的时候把这个id值增加1后写入数据库中;或者自己在数据库中使用存储过程,触发器什么的来实现
      

  2.   

    是的 我要的是classid最大,classid也是自增的。可是classid的初始值是要从另外一个数据库中读过来的 ,麻烦的赐教
      

  3.   

    也就是说 我的 这个表中的第一个classid是由我指定的,其他都是自增的 ,讲讲怎么做
      

  4.   

    with adoquery1 do                    //查询插入班级的班级号 newclassid
        begin
          close;
          sql.clear;
          sql.Add('select max(newclassid) from ia_newclass');
          open;
          i3:=fieldbyname('newclassid').Value;
        end;
    这个获得最大值的语句怎么又错 ,请赐教
      

  5.   

    select max(newclassid) from ia_newclass如果ia_newclass表中没有记录,返回的是null吧?i3估计是整型变量,这样赋值有错的select isnull(max(newclassid),0) from ia_newclassi3:=fieldbyname('newclassid').AsInteger