关于access 添加一个新记录后 返回新记录的ID 号

问题描述:

java 编写一个 向access 添加记录的小程序,

如何获取 新添加的记录的id号(自动编号)

在表中新增一个字段。比如叫UUID。
那么这个字段你插入对应的UUID值。
因为这个值是唯一的(具体参考网络资料)
并且是由你的程序生成的。你当然可以控制。
你插入数据后再检索对应的UUID值即可。
实际上,你可以直接用UUID作为ID。这个值是不会重复的。

[code="java"]
import java.util.UUID;
/**

  • UUID生成器
  • / public class UUIDGenerator { /*
    • 生成一个ID的字符串值
    • @return String
    • */ public static String createId(){ UUID uuid = UUID.randomUUID(); return uuid.toString(); } } [/code]

然后我们拿其他方式来比一下:
1.插入后立即取得最大的ID值,如使用sql的max()。这个方式如果有高并发的情况下就完全不适用。
2.使用事务,先插入,后查询,再提交。我不知道ACCESS是否支持。

不过好像ACCESS是文件型的数据库。一个时间内只能由一个实例操作对吧。。。

如果这样的话,那么你的程序执行的顺序应该是这样:
1.打开
2.插入
3.查询
4.关闭
如果在这个阶段内,无法由第二实例操作。那么你大可这么做。

最上面我给的方法适用于ORA,MYSQL,SQLSERVER.
虽然会有性能上的影响,但不会导致程序出错。

[quote]java 编写一个 向access 添加记录的小程序,

如何获取 新添加的记录的id号(自动编号) [/quote]

你能写,说明写的这些信息,是可以唯一标示一条记录的.

如果是,
就可以根据你写入的条件,查询获取;

如果不是,
就如楼上所说,添加一个类似UUID的唯一记录; 然后根据UUID查询.