其实就是两个表,分别用ADOTable1、ADOTable2连接,用ADOQuery1操作SQL,先把ssource表清空,然后,把snext表的所有内容给ssource表,然后,再把snext表清空,假设snext表有50条记录,那么最后ssource表应该有50条记录,这是正确的,通过ACCESS查看是有50条记录,可是用ADOTable1.RecordCount查看,总是与实际记录数不对应,这个问题真是急死我了,有谁能帮我,下面是源码
procedure TfrmMain.btnNextToSrcClick(Sender: TObject);
var
  StrSql: String ;
begin
  if Application.MessageBox ('确认要清空吗?',
                             '清空', MB_YESNO + MB_ICONQUESTION) = IDNO then
    exit ;  strSql := 'delete * from ssource' ;  //清空ssource表中的数据
  with ADOQuery1 do
  begin
    Close ;
    SQL.Clear ;
    SQL.Text := strSql ;  
    ExecSQL ;
  end;  //表snext中的数据导入ssource表
  ADOTable2.Recordset.MoveFirst ;  while not ADOTable2.Recordset.EOF do
  begin
    ADOTable1.InsertRecord ([ADOTable2.Recordset.Fields['slbh'].Value,
                            ADOTable2.Recordset.Fields['xlth'].Value,
                            ADOTable2.Recordset.Fields['sfzh'].Value,
                            ADOTable2.Recordset.Fields['yhm'].Value,
                            ADOTable2.Recordset.Fields['slsj'].Value,
                            ADOTable2.Recordset.Fields['dq'].Value,
                            ADOTable2.Recordset.Fields['cjbz'].Value,
                            ADOTable2.Recordset.Fields['cjcs'].Value]) ;    ADOTable2.Recordset.MoveNext ;
  end ;  strSql := 'delete * from snext' ;  //清空snext表中的数据
  with ADOQuery1 do
  begin
    Close ;
    SQL.Clear ;
    SQL.Text := strSql ;  
    ExecSQL ;
  end;  ShowMessage ('ok') ;
end;