查詢事件如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.Close ;
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('select * from aa');
adoquery1.Open ;
end;
我用以下兩種方法都不行。雖然沒有語法錯誤,但出來的結果不是我想要的結果。我想要的是導出查詢結果所有的數據,像導出成excel那樣,很整齊的一列一列的。
procedure TForm1.Button2Click(Sender: TObject);
var
tf:textfile;
ln:string;
begin
assignfile(tf,'c:\temp.txt');
rewrite(tf);
while not adoquery1.eof do begin
ln:=adoquery1.FieldValues ['partno'];
ln:=adoquery1.FieldValues ['partname'];
ln:=adoquery1.FieldValues ['po'];
writeln(tf,ln);
adoquery1.next
end;
closefile(tf);
showmessage('OK');
end;procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
list:TStringList;
begin
list:=TStringList.Create;
adoquery1.First;
for i:=0 to adoquery1.RecordCount-1 do
begin
list.Append(adoquery1.Fields[0].asstring);
list.Append(adoquery1.Fields[1].asstring);
list.Append(adoquery1.Fields[2].asstring);
list.Append(adoquery1.Fields[3].asstring);
adoquery1.Next;
end;
list.SaveToFile('c:\aa.txt');
showmessage('OK');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.Close ;
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('select * from aa');
adoquery1.Open ;
end;
我用以下兩種方法都不行。雖然沒有語法錯誤,但出來的結果不是我想要的結果。我想要的是導出查詢結果所有的數據,像導出成excel那樣,很整齊的一列一列的。
procedure TForm1.Button2Click(Sender: TObject);
var
tf:textfile;
ln:string;
begin
assignfile(tf,'c:\temp.txt');
rewrite(tf);
while not adoquery1.eof do begin
ln:=adoquery1.FieldValues ['partno'];
ln:=adoquery1.FieldValues ['partname'];
ln:=adoquery1.FieldValues ['po'];
writeln(tf,ln);
adoquery1.next
end;
closefile(tf);
showmessage('OK');
end;procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
list:TStringList;
begin
list:=TStringList.Create;
adoquery1.First;
for i:=0 to adoquery1.RecordCount-1 do
begin
list.Append(adoquery1.Fields[0].asstring);
list.Append(adoquery1.Fields[1].asstring);
list.Append(adoquery1.Fields[2].asstring);
list.Append(adoquery1.Fields[3].asstring);
adoquery1.Next;
end;
list.SaveToFile('c:\aa.txt');
showmessage('OK');
end;
ln:=adoquery1.FieldValues ['partno'];
ln:=adoquery1.FieldValues ['partname'];
ln:=adoquery1.FieldValues ['po'];
这三句,最后结果就是ln:=adoquery1.FieldValues ['po'];你应该写
ln:=ln + adoquery1.FieldValues ['po'];
而且要对其,你还要注意各个字段内容的长度对齐,那样写到txt才好看点
ln:=adoquery1.FieldValues ['partno']+' '+ln:=adoquery1.FieldValues ['partname']+' '+...
我用ln:=copy((adoquery1.FieldValues ['partno']+' '),1,10)+...不起作用