我用delphi做了一个公司会员管理系统,出现了一个问题,我的数据库是sql server 2000,其他机使用程序的时候出现了一个问题,修改数据之后,总要重新启动一次此系统才能看到更新的结果,我的数据是放在TListItem控件中,我用过了表单刷新,还有TListItem控件刷新,都不行啊!主表单程序//主表单显示时执行procedure TForm2.FormShow(Sender: TObject);
var
   i:integer;
   ListItem: TListItem;
   p:^integer;
begin
      rs1.sql.Clear;
      rs1.SQL.add('select * from hyzl order by id desc');
      rs1.Open;
      label3.Caption:=inttostr(rs1.recordcount)+'人';   for i:=1 to rs1.RecordCount do
   begin
      listitem:=hylist.Items.Add ;
      listitem.Caption :=rs1.Fields[0].AsString ;
      listitem.ImageIndex :=0;
      listitem.SubItems.Add(rs1.Fields[1].asstring);
      listitem.SubItems.Add(rs1.Fields[2].asstring);
      listitem.SubItems.Add(rs1.Fields[3].asstring);
      listitem.SubItems.Add(rs1.Fields[4].asstring);
      listitem.SubItems.Add(rs1.Fields[5].asstring);
      listitem.SubItems.Add(rs1.Fields[6].asstring);
      listitem.SubItems.Add(rs1.Fields[7].asstring);
      listitem.SubItems.Add(rs1.Fields[8].asstring);
      listitem.SubItems.Add(rs1.Fields[9].asstring);
      listitem.SubItems.Add(rs1.Fields[10].asstring);
      listitem.SubItems.Add(rs1.Fields[11].asstring);
      listitem.SubItems.Add(rs1.Fields[12].asstring);
      listitem.SubItems.Add(rs1.Fields[13].asstring);
      listitem.SubItems.Add(rs1.Fields[14].asstring);
      listitem.SubItems.Add(rs1.Fields[15].asstring);
      listitem.SubItems.Add(rs1.Fields[16].asstring);      new(p);
      p^ := rs1.Fields[0].AsInteger ;
      listitem.Data :=p;
      rs1.Next;   end;
      
end;//双击任何一条记录执行
procedure TForm2.hylistDblClick(Sender: TObject);
  var
   p:^integer;begin
   if hylist.selected=nil then exit;
   p:=hylist.Selected.Data ;
   did:=p^;
   form3.show;
end;修改记录表单部分程序表单显示出procedure TForm3.FormShow(Sender: TObject);
begin
     rs1.SQL.Clear;
     rs1.sql.add('select * from hyzl where id='+inttostr(form2.did));
     rs1.open;
     edit1.text:=rs1.fields[1].asstring;
     edit2.text:=rs1.fields[2].asstring;
     edit3.text:=rs1.fields[3].asstring;
     edit4.text:=rs1.fields[4].asstring;
     edit5.text:=rs1.fields[5].asstring;
     edit6.text:=rs1.fields[6].asstring;
     edit7.text:=rs1.fields[7].asstring;
     edit8.text:=rs1.fields[8].asstring;
     edit9.text:=rs1.fields[9].asstring;
     edit10.text:=rs1.fields[10].asstring;
     edit11.text:=rs1.fields[11].asstring;
     edit12.text:=rs1.fields[12].asstring;
     edit13.text:=rs1.fields[13].asstring;
     edit14.text:=rs1.fields[14].asstring;
     edit15.text:=rs1.fields[15].asstring;
     memo1.lines.add(rs1.fields[16].asstring);
end;//保存时procedure TForm3.BitBtn1Click(Sender: TObject);
begin
   main.conn.execute('update hyzl set name='''+trim(edit1.text)+''' ,SEX='''+trim(edit2.text)+''' , SFZ='''+trim(edit3.text)+''' , ADRESS='''+trim(edit4.text)+''' , ADRESS_PHONE='''+edit5.text+''' , COMPANY='''+edit6.text+''' , COMPANY_ADRESS='''+edit7.text+''' , COMPANY_PHONE='''+edit8.text+''' , MOVEPHONE='''+edit9.text+''' , KFZY='''+edit10.text+''' , KH='''+edit11.text+''' , DATE1='''+edit12.text+''' , BX='''+edit13.text+''' , ISBX='''+edit14.text+''' , JB='''+edit15.text+'''where id='+inttostr(form2.did));
   close;
   form2.Refresh;   
   
end;