在vfp中如何能使字段实现自动增量功能
编号:QA000976
建立日期: 1999年5月13日 最后修改日期:1999年5月13日
所属类别:
mydh:
vfp5
win98
在vfp中如何能使字段实现自动增量功能?
回答:
vfp没有象ACCESS可定义字段有自动编号的功能,所以都是要通过编程手段来实现的。
如果只是要一个唯一的ID,而不需要按顺序增量的话,可有sys(2015)函数来实现,它返回一个10字节的字符串,可保证唯一,且是递增的。
但如果要求是依次+1的功能,需要根据实际需要考虑不同的算法。
普通的考虑一般有两种:
1)用一个表专门存放其它表的最大ID值。这种算法vfp有例子,可参考 samples中的tastrade例子,打开tastrade.dbc,执行<编辑存储过程...>,就可看到newid()
2)在需要生成ID时,查询最大ID值。也有两种做法。
1>在ID索引下,go bott,可得到最大ID值。
2>上一种方法,没考虑到最大ID值可能是有条件限制,如某一类的最大ID,
可使用 CALCULATE 或 select SQL 语句中的 max() 得到符合条件的最大ID值。请查阅上述命令。
此问题由何翊夫回答。
| |
|
|
| |
|
|