我有一个窗体,左边是DXDBGRID控件,显示部门信息,如部门编号、部门名称等,右边是用户输入的文本框,当用户输入内容时,按“添加”按钮,在左边的DXDBGIRD上应该显示添加的部门,但我添加之后没有显示,我刷新了也显示不出来,怎么回事?代码如下:
procedure Tfixform.dxButton1Click(Sender: TObject);
var s1,s2,s3,sqltext: string;
begin
  s1:=trim(dxEdit1.Text);
  s2:=trim(dxEdit2.Text);
  s3:=trim(dxEdit5.Text);
  if (s1 = '') or (s2 = '') or (s3='') then exit;  wAdoq3.close;
  wAdoq3.SQL.Clear;
  SqlText := 'select Dname from Department where Dname=''' +s1+ ''' or Dno=''' +s2+ ''' or Dspell=''' +s3+ '''' ;
  //showmessage(sqltext);
  CreateAdoq(wAdoq3,sqltext);
  wAdoq3.Open;
  if Wadoq3.RecordCount>0 then
  begin
    MessageDlg('已有此部门名称或部门编号,不能重复!', mtInformation, [mbOk], 0);
    exit;
  end;  wAdoq1.Close;
  wAdoq1.SQL.Clear;
  loadtable(wAdoq1,'Department','Dname');
  sqltext:= 'insert into Department (Dno,Dname,Dspell) values (''' + s2 + ''',''' + s1 + ''','''+s3+''')';
  CreateAdoq(wAdoq3,sqltext);
  //CreateAdoq(wAdoq2,sqltext);
  wAdoq3.ExecSQL;
  //wAdoq2.ExecSQL;
  MessageDlg('添加部门完毕!', mtInformation, [mbOk], 0);
  dxEdit1.Text:='';
  dxEdit2.Text:='';
  dxEdit5.Text:='';
  wAdoq3.Close;
  wAdoq3.SQL.Clear;
  loadtable(wAdoq1,'Department','Dname');
  loadtable(wAdoq2,'Department','Dname');
  exit;
end;附:loadtable函数
Function loadtable(wAdoq:TAdoquery;Bname:string;Fname:string):Boolean;
begin
  with wAdoq do
  try
  begin
    close;
    sql.Clear;
    sql.Text:='select * from '+ Bname + ' order by ' + Fname;
    createadoq(wAdoq,sql.Text);
    Open;
    result:=true;
  end;
  except
    result:=false;
  end;
end;