Вот пример, как сделал я ...
Код:
var
Form1: TForm1;
f:text;
f_c,r_c,i,n:integer;
str:string;
dump:string;
a:array[1..100] of string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if not FileExists('DB_Dump.txt') then
begin
Rewrite (f,'DB_Dump.txt');
CloseFile(f);
end;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from t';
ADOQuery1.Open;
f_c:=ADOQuery1.FieldCount;
r_c:=ADOQuery1.RecordCount;
for n:=0 to r_c-1 do begin
for i:=0 to f_c-1 do
begin
dump:='';
a[i]:=DBGrid1.Fields[i].AsString+'#';
AssignFile(f,'DB_Dump.txt');
Append(f);
Write (f,a[i]);
CloseFile(f);
end;
Append(f);
Writeln (f,'');
CloseFile(f);
ADOQuery1.Next;
end;
end;
end.
исходник