query1.fieldbyname('自增字段名').value

解决方案 »

  1.   

    to kami:
    不好意思,例子上我只是说了一个表,其实真正的程序是有两个表的(主从表),请b.db是主表,A字段是两个表的关联字段。这样的的情况如何能取得a.db表当前自动增加值字段的值。
      

  2.   

    你的操作逻辑我不明白,(可以说你的实际需要吗);但我想这样可以,你说了,你先做INSERT 操作(对吧,没问题);
     
    然后你的问题是,UPDATE 的条件不好做,
    我想你换个角度,你可以找出 字段 B(或C,D)为空的记录,
    应该只有一条(对吗),我想那就OK了
    大概这样行吧?query1.close;
    query1.sql.clear;
    query1.sql.add('insert into a(a) values :a');
    query1.sql.parambyname('a').value:=a_value;
    query1.execsql;query1.close;
    query1.
      

  3.   

    你的操作逻辑我不明白,(可以说你的实际需要吗);但我想这样可以,你说了,你先做INSERT 操作(对吧,没问题);
     
    然后你的问题是,UPDATE 的条件不好做,
    我想你换个角度,你可以找出 字段 B(或C,D)为空的记录,
    应该只有一条(对吗),我想那就OK了
    大概这样行吧?query1.close;
    query1.sql.clear;
    query1.sql.add('insert into a(a) values :a');
    query1.sql.parambyname('a').value:=a_value;
    query1.execsql;query1.close;
    query1.sql.clear;
    query1.sql.add('select * from a where b like :b');
    query1.parambyname('b').asstring:=' ';
    try
    query1.open;
    except
    query1.execsql;
    end;
     if query1.recordcount=1 then
       begin
         query1.edit;
         //
         这里你 付直就可以了   end;
    我没有完全明白 你的问题,对不起,也不知道说的,是不是你要问的
    还有,上面的程序,可能有小问题(你要明白,原理)
    祝好运
      

  4.   

    最好加一个自动增加字段ID,如果你的数据库是Access,它的值是按顺序增加的,你可以用下面方法实现:
    'Update Table2 Set B=3,C=4,d=5 where Id=(
                    select Max(Id)
                      From Table2'
      

  5.   

    感谢cxsandsand(楚雄小琳琳)
    我还有个问题,如何select 两个表中的具有指定记录的所有字段?
    例如A表内容为:
           a字段(索引)            b字段          c字段
            111                     222            333
            112                     444            555B表内容为:
    aa字段(自动增加)  a字段(字段名跟A表的相同)    bb字段      cc字段    dd字段
             1                     111              134         234       456
             2                     112              335         324       323
             
    请问如何select A表,B表 中a字段为111 的所有字段内容?
      

  6.   

    >>如何select A表,B表 中a字段为111 的所有字段内容? 
    你的意思是要找出A,B表中的哪些字段?