procedure TF_person.Button1Click(Sender: TObject); var f:TextFile; i:integer; s:String; begin AssignFile(f,'C:\1.txt'); Rewrite(F); for i := 0 to DBGrid1.Columns.Count - 1 do begin s:= DBGrid1.Columns[i].Title.Caption; if i <> DBGrid1.Columns.Count -1 then s:=s+';'; //加分隔 Write(f,s); end; Writeln(f);//换行 with DBGrid1.DataSource.DataSet do begin First;//移动到首记录; while not Eof do begin for i := 0 to DBGrid1.Columns.Count - 1 do begin s:= DBGrid1.Fields[i].AsString;//读对应的字段值 if i <> DBGrid1.Columns.Count -1 then s:=s+';'; //分隔 Write(f,s); end; Writeln(f); //循环到尾记录 Next; end; end; CloseFile(f);//关闭文件 end;
调用外部命令bcp 也可以: bcp database.tblname out c:\test.txt -c -Usa -Pxxx
var
f:TextFile;
i:integer;
s:String;
begin
AssignFile(f,'C:\1.txt');
Rewrite(F); for i := 0 to DBGrid1.Columns.Count - 1 do
begin
s:= DBGrid1.Columns[i].Title.Caption;
if i <> DBGrid1.Columns.Count -1 then
s:=s+';'; //加分隔
Write(f,s);
end;
Writeln(f);//换行
with DBGrid1.DataSource.DataSet do
begin
First;//移动到首记录;
while not Eof do
begin
for i := 0 to DBGrid1.Columns.Count - 1 do
begin
s:= DBGrid1.Fields[i].AsString;//读对应的字段值
if i <> DBGrid1.Columns.Count -1 then
s:=s+';'; //分隔
Write(f,s);
end;
Writeln(f);
//循环到尾记录
Next;
end;
end;
CloseFile(f);//关闭文件
end;
bcp database.tblname out c:\test.txt -c -Usa -Pxxx