数据导出(100分)

  • 主题发起人 主题发起人 Sheldon
  • 开始时间 开始时间
S

Sheldon

Unregistered / Unconfirmed
GUEST, unregistred user!
请教高手, 如何把一个数据库表导出为一个文本文件?
 
是否可以这样!
Assign(FilVar, '文件名');
Rewrite(filVar);

With Table1 Do
Begin
Open;
First;
While Not Eof Do
Begin
Writeln(FilVar, FieldValues('字段1'), FieldValues('字段2'), ...);
Next;
End;
Close;
End;
Close(FilVar);
这只是个算法,自己完善吧!
 
建立一Text File类型的别名再用,TBatchMove.
 
这个很简单的。
假设表名为TBALE1,字段名为:FIELD1,FIELD2,FIELD3,
则程序如下:

procedure TfmMain.BtnTextClick(Sender: TObject);
var
f:textfile;
s,s1:String;
begin
if not SaveDialog1.Execute
then
exit;

s1:=SaveDialog1.FileName;
AssignFile(f,s);
ReWrite(f);
with QryDo Do
try
Close;
Sql.Clear;
Sql.Add('select * from table1');
open;

while not eof do
begin
s:=Format('%s %s %s',
[FieldByName('field1').AsString,
FieldByName('field2').AsString,
FieldByName('field3').AsStyring]);
writeln(f,s);
next;
end;
except
end;

CloseFile(f);
ShowMessage('倒出数据成功!');
end;
 
用两个table,TABLE1为原数据库名,TABLE2设为目标数据库名,
将TABLE2.TABLETYPE:='TTASCII';
用一个BatchMove1设置好源和目标;
BatchMove1.execute;即可生成.txt文件。
 
不知用sql如何实现txt的生成
 
如果不编程的话,建议用power builder中的数据窗口来导出。交互环境下,这
是数据迁移的一个较好、较常用的数据。
 
我使用了BatchMove1.Execute的方法后, 发现
生成相应.TXT文件的同时, 还生成了一个同名的.SCH文件,
是怎么回事? 请大虾们指点, 谢谢!
 
用query作为数据源即可用sql实现txt的生成
 
答案接受了, 谢谢大家!
 
多人接受答案了。
 
后退
顶部