我用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;
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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货