将数据库表导出为以逗号分割的文本文件(CSV格式)
如果想将数据库表格转换为以逗号分割的文本文件(CSV格式),可以使用如下的过程代码:
procedure BackupTableToCSV(tableName:TTable);
var
i,j: integer; (*i-field, j-record*)
s: string; (*Record string*)
theStringList: TStringList; (*temp storage*)
begin
s := '';
theStringList := TStringList.Create;
with tableName do
begin
try
Active:=True;
except
showmessage('不能激活数据库:'+ Name);
end;
for j:=0 to (RecordCount-1) do
begin
s:='';
for i:=1 to (FieldCount-1) do
begin
(*add next field w/comma delimiter*)
s := s + (Fields[i].AsString)+',';
end; (*i for*)
theStringList.add(s);
Next;
end; (*j for*)
theStringList.savetofile(Name+'.csv'); (*memo1.lines.*)
Showmessage(Name+ ' 已被转换完毕.');
close;
end; (*with*)
end; (*BackupTableToCSV*)
var
i,j: integer; (*i-field, j-record*)
s: string; (*Record string*)
theStringList: TStringList; (*temp storage*)
begin
s := '';
theStringList := TStringList.Create;
with tableName do
begin
try
Active:=True;
except
showmessage('不能激活数据库:'+ Name);
end;
for j:=0 to (RecordCount-1) do
begin
s:='';
for i:=1 to (FieldCount-1) do
begin
(*add next field w/comma delimiter*)
s := s + (Fields[i].AsString)+',';
end; (*i for*)
theStringList.add(s);
Next;
end; (*j for*)
theStringList.savetofile(Name+'.csv'); (*memo1.lines.*)
Showmessage(Name+ ' 已被转换完毕.');
close;
end; (*with*)
end; (*BackupTableToCSV*)