求教将ADOQuery1中的数据保存成txt格式的delphi源码?
解决方案 »
- 使用TeeChart 7.0在报表上绘制曲线,在分发时,为什么有的机子能显示,而有的机子就不能显示呢?
- ntohl函数起什么作用?
- ★★★谁有Speech Engine或ViaVoice的西班牙语版的SDK?500分酬谢!!!★★★
- ADO 怎么存取图片请 高手帮忙
- 关于用来画流程图的控件?各位大侠帮忙?
- 请教,如何直接操作并口打印机,而无需经过驱动程序?最好有例子
- 一个排序的问题,请教更快的算法。
- 关于WINDOWSAPI中的SendMessage函数
- 一个打印报表的问题?
- BDE错误
- 如何用Delphi写一个扫描网络上另一台机子端口开放的程序
- "Socket Error 10061" : 怎么解决?(以前的相关贴子打不开)谢谢
file1:textfile;
s:string;
begin
system.assign(file1,'test.txt');
system.reset(file1)
adoquery1.first;
while not adoquery1.eof do
begin
s:=
writeln(file1,s);
adoquery1.next;
end;
system.close(file1);
end;
那就是你定义一个文本文件,把你的adoquery中的记录一条条的写入这个
文件中,这样是最好控制的,我用过。不错的。前一种用时不好控制。
我觉得最好是用控件ehlib,这组控件里面有各dbgirdeh,继承dbgrid,利用dbgrideh的一个方法可以将数据导出为txt,execl等格式。
代码怎么实现?
procedure tFrmDataManage.GridSaveAS (grid: TDBGridEh);
var ExpClass:TDBGridEhExportClass;
Ext:String; SaveDlg:TSaveDialog;
ExportAll:Boolean;
begin
ExportAll:=True; //缺省情况下导出所有数据
SaveDlg:=TSaveDialog.Create(Application);
SaveDlg.Filter:='Excel表格(*.XLS)|*.XLS|HTML文档(*.HTM)|*.HTM|RTF格式(*.RTF)|*.RTF|纯文本文件(*.TXT)|*.TXT|逗号分隔文本格式(*.CSV)|*.CSV';
SaveDlg.FileName:='未命名';
SaveDlg.Options := [ofOverwritePrompt,ofHideReadOnly, ofEnableSizing];
if SaveDlg.Execute then
begin
case SaveDlg.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
2: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
3: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
4: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
5: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDlg.FileName,Length(SaveDlg.FileName)-2,3)) <> UpperCase(Ext) then
SaveDlg.FileName := SaveDlg.FileName + '.' + Ext;
//如果grid中有选择的区域,则只导出所选择的区域
if grid.Selection.SelectionType<>gstNon then ExportAll:=False;
Try
SaveDBGridEhToExportFile(ExpClass,grid,SaveDlg.FileName,ExportAll);
Except
On E:Exception do
begin
MessageBox(0,LPCTSTR('保存文件发生异常,请检查是否有重名文件并且该文件没有被打开!'),'注意',MB_OK or MB_ICONWARNING);
Exit;
end;
End;
end;
end;
end;