高分请教cs机构缓存问题,在线等待! 请问如何在cs机构中,对一个表进行查询或添加操作后,把缓存中的数据写入文本文件中?具体怎么样做?最好能贴断代码!谢谢虚心请教1!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 cs可以吗?多层倒是可以的.ClientDataSet.Delta就是被修改的数据,两层还要听听高手发言. 趁中午吃完饭,刚刚写的,试试看,可能有BUGunit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Db, ADODB, Grids, DBGrids;type TForm1 = class(TForm) Button1: TButton; DataSource1: TDataSource; DBGrid1: TDBGrid; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; Edit1: TEdit; Button2: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } procedure FileSave(astrTableName: string); public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FileSave(astrTableName: string);var strSql: string; dlgsavAcc: TSaveDialog; F:textfile; strField:string; intFieldCount,i:integer;begin strSql:='select * from ' + astrTableName; ADOQuery1.Close; ADOQuery1.Sql.Text:=''; ADOQuery1.Sql.Text:=strSql; ADOQuery1.Open; dlgsavAcc:=TSaveDialog.Create(nil);// dlgsavAcc.Filter := 'Text files (*.txt)|*.TXT'; with ADOQuery1 do begin if dlgsavAcc.Execute then begin if FileExists(dlgsavAcc.FileName) then if Application.MessageBox(pchar('是否现有文件覆盖'),pchar('提示'),MB_OKCANCEL)<>idok then Exit; assignfile(F,dlgsavAcc.FileName); Rewrite(F); intFieldCount:=ADOQuery1.Fields.Count; while not Eof do begin strField:=''; for i:=0 to intFieldCount-1 do begin strField:=strField+''','''+Fields.Fields[i].AsString; end; strField:=copy(strField,3,length(strField)-2)+''''; Writeln(F,strField); Next; end; CloseFile(F); Showmessage('导出成功'); // end; end else Exit; end; dlgsavAcc.Free; // daqTemp:=nil;end;procedure TForm1.Button1Click(Sender: TObject);begin FileSave(edit1.text);end;end. 关于DBGridEh鼠标点击的问题。 谁有ACM控件。。给一份谢谢 再问一个字符串处理问题 求助!!! 大家好,谢谢支持 date() 请提供些操作word的资料,最好给出连接 请问TGraphic,Tbitmap,Tpicture,Ticon有什么区别??? 请问那里可以下载Delphi的基础书籍,eshu形式的最好了,谢谢 高手请进,关于DLL和BPL内部机制,在线等待! 如何将jpg的图片加入到sql server 的 image类型的字段中阿,使用ado 怎样使ActivexForm 变透明? 真的没人知道吗?
多层倒是可以的.ClientDataSet.Delta就是被修改的数据,
两层还要听听高手发言.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, ADODB, Grids, DBGrids;type
TForm1 = class(TForm)
Button1: TButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
Edit1: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure FileSave(astrTableName: string);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}
procedure TForm1.FileSave(astrTableName: string);
var
strSql: string;
dlgsavAcc: TSaveDialog;
F:textfile;
strField:string;
intFieldCount,i:integer;
begin
strSql:='select * from ' + astrTableName;
ADOQuery1.Close;
ADOQuery1.Sql.Text:='';
ADOQuery1.Sql.Text:=strSql;
ADOQuery1.Open;
dlgsavAcc:=TSaveDialog.Create(nil);
// dlgsavAcc.Filter := 'Text files (*.txt)|*.TXT';
with ADOQuery1 do
begin
if dlgsavAcc.Execute then
begin
if FileExists(dlgsavAcc.FileName) then
if Application.MessageBox(pchar('是否现有文件覆盖'),pchar('提示'),MB_OKCANCEL)<>idok then
Exit;
assignfile(F,dlgsavAcc.FileName);
Rewrite(F);
intFieldCount:=ADOQuery1.Fields.Count;
while not Eof do
begin
strField:='';
for i:=0 to intFieldCount-1 do
begin
strField:=strField+''','''+Fields.Fields[i].AsString;
end;
strField:=copy(strField,3,length(strField)-2)+'''';
Writeln(F,strField);
Next;
end;
CloseFile(F);
Showmessage('导出成功');
// end;
end
else
Exit;
end;
dlgsavAcc.Free;
// daqTemp:=nil;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
FileSave(edit1.text);
end;end.