一段保存DBGRID中记录到文本文件的程序,当DBGRID记录为空时希望返回错误信息,却不知道RecordCount判断错在哪,每当DBGRID记录为空时出错。
procedure TForm2.SaveS1Click(Sender: TObject);
      //if DBGRID1.SelectedRows<>0 then
     //DBGRID1.DataSource.Dataset
var
  f1:TextFile;
  str:string;
  i:integer;
begin
 if Dbgrid1.Datasource.DataSet.Recordcount<>0 then
 begin
 with dbgrid1.datasource.dataset do
     disablecontrols;
  begin
  if SaveDialog1.Execute then            { Display Open dialog box }
    begin
     AssignFile(f1, SaveDialog1.FileName);
     rewrite(f1);
     dbgrid1.datasource.dataset.first;
     while not dbgrid1.datasource.dataset.Eof do
        begin
         str:='';
         for i:=0 to dbgrid1.datasource.dataset.fieldcount-1 do
         str:=str+dbgrid1.datasource.dataset.fields[i].asstring+' ';
         dbgrid1.datasource.dataset.next;
         writeln(f1,str);
         end;
    end;
    dbgrid1.datasource.dataset.enablecontrols;
    closefile(f1);
    end;
   end
   else
   showmessage('No records selected');
   //else
   //SaveDialog1.Close;
end;