大家看看这个问题怎么解决,我是菜鸟。关于向数据库添加一个记录时,自动把新的那个记录的编号加1。(10分)

  • 主题发起人 主题发起人 sohuandsina
  • 开始时间 开始时间
S

sohuandsina

Unregistered / Unconfirmed
GUEST, unregistred user!
向数据库添加一个记录时,自动把新的那个记录的学号加1。
比如数据库中当前有9条记录,第9条记录的学号也是9。当我添加一条后,自动把新加的记录的学号设置为10。
我的这个编号不是数据库的编号,是我自己设定的学号。
 
on beforepoost:
begin
maxquery.close;
maxquery.clear;
maxquery.sql.add('select max(id) as maxid from table1');
maxquery.open;
if data.maxquerymaxid.value=null then data.table1id.value:=1
else data.table1id.value:=data.maxquerymaxid.value+1;
end;
 
保存之前查询一下最大的ID号再新增
 
如果是单机版就好说了,以上就可,如是网络版的话,最好用序列发生器,或触发器来解决
 
杰克:
就是单机的,你能给点详细的提示吗?
 
用存储过程
 
在建立《数据库》时加入一列字段,字段名为“编号”
然后在编程时输入如下程序,设table1为你自己的数据库名
//设AA为数值型
AA:integer;
begin
if table1.canmodify then
begin
table1.Append;
AA:=AA+1;
table1['编号']:=inttostr(AA);
end;
 
单机版的就简单了。
假定你的数据集叫 dsTable,在建立它时指定在学号上排序。打开数据集后,需要增加时,
只需要简单:
nID:=学号+1;
append;
....
 
to payer:
您的解释非常之正确!!!
 
后退
顶部