首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

遇到添加记录时自动编号有时重复,刷新不正常的有关问题

2012-03-07 
遇到添加记录时自动编号有时重复,刷新不正常的问题一个添记录到数据库的窗体,打开添加窗体,会自动根据数据

遇到添加记录时自动编号有时重复,刷新不正常的问题
一个添记录到数据库的窗体,打开添加窗体,会自动根据数据表中现有数据的最大编号加1,添加完成后自动刷新另一个窗体中的DBGRID。

问题是添加后经常不刷新,有时自动生成的编号还是上一次的。

这是添加的代码:

procedure Tadduser.FormShow(Sender: TObject);
  var
  i:integer;
begin

  xingming.SetFocus();
  varsex:='男';
  vardate:=formatdatetime('yyyy',now)+'-'+formatdatetime('mm',now)+'-'+formatdatetime('dd',now);

  ADOdataset1.ConnectionString:=constr;

  ADOdataset1.Active:=false;
  ADOdataset1.CommandText:='select id,usertype from usertype';
  ADOdataset1.Active:=true;

  if (ADOdataset1.RecordCount>0) then
  begin

  for i:=1 to ADOdataset1.RecordCount do
  begin
  usertype.Items.Add(ADOdataset1.FieldValues['usertype']);
  ADOdataset1.Next;
  end;
  usertype.ItemIndex:=0;
  end
  else
  begin
  usertype.Text:='请选择分组';
  end;

  //自动编号
  ADOdataset1.Active:=false;
  ADOdataset1.CommandText:='select 编号 from userlist order by 编号 desc';
  ADOdataset1.Active:=true;

  if (ADOdataset1.RecordCount>0) then
  begin
  userid.Text:= floattostr(strtofloat(ADOdataset1.FieldValues['编号'])+1);
  end
  else
  begin
  userid.Text:='1001';
  end;


end;



添加铵钮的代码:

onclick后执行:


  ADOquery1.SQL.Clear;
  ADOquery1.ConnectionString:=constr;
  ADOquery1.SQL.Add('insert into userlist(编号,姓名,性别,联系电话,手机,Email,QQ,用户分组,登记日期,地址,备注) values("'+varuserid+'","'+varusername+'","'+varsex+'","'+varphone+'","'+varshouji+'","'+varemail+'","'+varqq+'","'+varusertype+'","'+vardate+'","'+varaddress+'","'+varbeizhu+'")');
  ADOquery1.ExecSQL();

  MessageBox(Handle,'添加成功!','成功', MB_OK+$00000040);

  mainfrm.myuserlist;//刷新
  close();

[解决办法]

探讨
在添加完记录后自动刷新显示列表也延时,这是什么原因?

[解决办法]
探讨
有时候添加了新记录后,等好几秒才能显示出来,这是怎么回事吗?


数据表中共十来条记录

热点排行