呵呵,这样的话,你得用两个adoquery啦,
第一个读入你的文件(adoquery1)
第二个往库里面写(qdoquery2)
example
var
lp: integer;
begin
//adoquery2连接数据库并打表,这里你处理一下
adoquery2.open;
adoquery1.close;
adoquery1.loadfromfile('d:\file\abc.txt');
adoquery1.first;
while not adoquery1.eof do
begin
adoquery2.append;
for lp := 0 to ADOQuery1.Fields.Count - 1 do
ADOQuery2.FieldByName(ADOQuery1.Fields[lp].FieldName).AsVariant :=
ADOQuery1.FieldByName(ADOQuery1.Fields[lp].FieldName).AsVariant;
ADOQuery2.post;
ADOQuery1.next;
end;
end;
对不起,我没说清楚
我用的是tadoquery.savetofile(XXX.txt);
下面是我数据导出的源码:
procedure TDataExtractionFrm.btnCreateFileClick(Sender: TObject);
var
exxFile:TextFile;
i:integer;
strSql,strTablePath,strFilePath:string;
begin
if lsbSelected.Count>0 then
begin
strFilePath:='d:\file\extraction.exx';
AssignFile(exxFile,strFilePath);
Rewrite(exxFile);
for i:=0 to lsbSelected.Count-1 do
begin
strSql:='select * from '+lsbSelected.Items[i];
with adoQuery do
begin
with SQL do
begin
Clear;
Add(strSql);
end;
Open;
end;
Writeln(exxFile,strSql);
strTablePath:='d:\file\'+lsbSelected.Items[i]+'.txt';
adoquery.SaveToFile(strTablePath);
end;
closeFile(exxFile);
adoQuery.Close;
end;
end;