rt
我想知道,当insert一条记录时,系统将rs定位在哪一行?是在第一行吗?还是在插入的当前记录上?
怎么将刚插入的这一条记录取出来呢?如果有多个用户同时在操作,会不会导致取错记录?

解决方案 »

  1.   

    insert和rs没有关系如果有多个用户同时在操作,取出刚插入的记录可能会出现问题如果有这样的需求,最好使用同步方法
      

  2.   

    如果数据库是mysql
    select last_insert_id()
    可以获得最后插入的自增列的值
      

  3.   

    to linkin_park706() ( ) 信誉:100 
    ===================
    数据库是mysql,用这个方法的得到的是行号吗?我想得到我自己定义的id,另外,用这方法的话,如果有多个用户同时在操作,会不会导致取错记录?
      

  4.   

    自己定义的id如果是唯一不重复的,那就不用select last_insert_id()了,因为当你插入数据库时id是你自己定义的,到时候插入数据库数据以后,可以根据这个id再从数据库查询出这条记录。有多个用户同时在操作时,如果select last_insert_id()紧跟随着你插入数据库的那条语句时几乎是不会出现这个问题的,
      

  5.   

    主键就是id,是自增长的。
    好像select last_insert_id()不能带参数,那就是取不到我自己的id了?
      

  6.   

    插入完后rs.last();if(rs.last()){
      ...取你要的数据;
    }
      

  7.   

    或者:rs.moveToInsertRow() ;jdk1.5 api说明:
    moveToInsertRow() 
              Moves the cursor to the insert row.
      

  8.   

    表里有主键rkey就可以解决了.