各位高手:
.....
self.ADOQuery3.sql.add('select '+a+' from '+edit1.Text+'');
self.ADOQuery3.open; self.ADOQuery3.SaveToFile(d:/test.txt);结果,这样输入到txt中的是两句话
select name from login
select password from login怎样在txt中出现name和password的数据阿
.....
self.ADOQuery3.sql.add('select '+a+' from '+edit1.Text+'');
self.ADOQuery3.open; self.ADOQuery3.SaveToFile(d:/test.txt);结果,这样输入到txt中的是两句话
select name from login
select password from login怎样在txt中出现name和password的数据阿
self.ADOQuery1.SQL.Clear;
self.ADOQuery1.SQL.Add( 'select * from table1' );
self.ADOQuery1.Open;
self.ADOQuery1.SaveToFile( 'd:\12345676.xml',pfXML );
各位高手帮忙啊,会马上分分的
VAR
TEST1:TStringList;
begin
TEST1:=TSTRINGLIST.CREATE
WITH ADOQUERY1 DO
BEGIN
CLOSE;
SQL.CLEAR;
SQL.TEXT:='SELECT .........';
OPEN;
WHILE NOT EOF DO
BEGIN
TEST1.ADD(FILEDBYNAME('').ASSTRING);
NEXT;
END;
TEST1.FREE;
endEND;
end;
test1.savefile吗
出现的也不是数据,而是FILEDBYNAME(entity_code).ASfloat
FILEDBYNAME(entity_code).ASfloat
FILEDBYNAME(entity_code).ASfloat
FILEDBYNAME(entity_code).ASfloat
怎么样才会把表中的内容保存在txt文件中呢
StringGrid1.SaveToXLS(SaveDialog1.FileName);
大体写法如下:
procedure TForm_ouput.Output_Excel();
function L_Format( s: string ): string;
var Code: Integer; N: Double;
begin
if length( s ) > 11 then begin
try Val( s, N, Code );
if (Code = 0) then s := '''' + s;
except end;
end;
Result := s;
end;
var i, j:integer;
s: string;
SaveDialog1: TSaveDialog;
begin
inherited;
StringGrid1.RowCount:= DmIds.Query.RecordCount + 1;
StringGrid1.ColCount:= 2;
//列标题
StringGrid1.Cells[ 0, 0 ] := '序号';
StringGrid1.Cells[ 1, 0 ] := '名称';
StringGrid1.Cells[ 2, 0 ] := '密码';
//列值
DmIds.Query.first; I := 1;
while not DmIds.Query.Eof do begin StringGrid1.Cells[ 0, I ] := IntToStr( I );
StringGrid1.Cells[ 1, I ] := L_Format( trim( DmIds.Query.FindField('name').AsString ) );
StringGrid1.Cells[ 2, I ] := L_Format( trim( DmIds.Query.FindField('password').AsString ) );
DmIds.Query.Next;
inc( I );
end; SaveDialog1 := TSaveDialog.Create(self);
SaveDialog1.Title := '保存文件';
SaveDialog1.InitialDir := 'c:\Excel\'; SaveDialog1.DefaultExt := 'XLS';
SaveDialog1.FileName := self.Caption;
SaveDialog1.Filter := 'EXCEL文件(*.xls)|*.XLS';
try
if SaveDialog1.Execute then begin
case SaveDialog1.FilterIndex of
1: StringGrid1.SaveToXLS(SaveDialog1.FileName);
2: StringGrid1.SaveToASCII(SaveDialog1.FileName);
3: StringGrid1.SaveToHTML(SaveDialog1.FileName);
4: StringGrid1.SaveToCSV(SaveDialog1.FileName);
end;
Application.MessageBox('文件保存成功!', '', MB_OK + MB_ICONASTERISK
+ MB_DEFBUTTON1 + MB_APPLMODAL);
end;
finally
SaveDialog1.Free;
end;end;
没有用过savedialog
self.ADOQuery3.open;
while not self.ADOQuery3.eof do
begin
memo1.lines.add(self.AdoQuery3.fields.fieldbyname('name')+','+self.AdoQuery3.fields.fieldbyname('password'))
self.AdoQuery3.next
end
memo1.lines.savetofile('d:/test.txt')大概就这个意思,因为有些属性写程序的时候都是DELPHI自动显示出来的,记得不是很清,估计memo1的saveto这一行是错的,试一下正确的应该是什么属性吧。
我写的代码是
memo1.lines.add(self.adoquery3.fields.fieldbyname('''+a+'''));
这样不对阿。提示'+a+'字段不对。再加两个引号也不对阿
还有数字对应的字段名可以显示吗
谢谢
str : TStringList;
s : string;
i : integer;
begin
ADOQuery1.open;
if SaveDialog1.Execute then begin
str:=TStringList.Create();
try
s:='';
for i:=0 to ADOQuery1.FieldCount-1 do begin
s:=s+ADOQuery1.Fields[i].FieldName+#9;
Application.ProcessMessages;
//showmessage(s);
end;
str.Add(s);
ADOQuery1.First;
while not ADOQuery1.Eof do begin
s:='';
for i:=0 to ADOQuery1.FieldCount-1 do begin
s:=s+ADOQuery1.Fields[i].AsString+#9;
Application.ProcessMessages;
//showmessage(s);
end;
str.Add(s);
ADOQuery1.Next;
end;
str.SaveToFile(SaveDialog1.FileName);
MessageBox(Application.Handle,'数据导出完毕!','系统提示',MB_ICONINFORMATION or MB_OK);
except
MessageBox(Application.Handle,'数据不能正常导出,请重试!','系统提示',MB_ICONINFORMATION or MB_OK);
str.Free;
end;
end;