ADO,一定要重新连接才能得到最新的数据吗? 添加后执行ADOTable1.Requery手动刷新数据集。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 adoconnection不要设异步等等特别的设定,刚加入时最好,除了下载记录数设为1000(李维说的). 不要设异步?怎么设,我先试试ADOTable1.Requery ADOTable1.Requery也一样不行能用的方法都用了!!!???只有:CherioBoy(冲锋不止) 的方法没试了,可我不知道怎么设? 看你使用什么样的Cursor了,通过设置Cursor可以达到无需重新连接,既可得到最新的数据 请问用什么样的Cursor,谢谢! Cursor的所用类型我都试 了,都不行,我现在是把ADOTable改为了ADODataset了 设定成Dynamic Cursor(在每次客户端需要新的数据时,从数据库查找最新的数据) 忘了,还要看你使用了什么样的数据库。目前Sever-side Cursor才能真正使用Dynamic Cursor re:nakrul() 你的方法我也试了,一样不行! 哈哈,这个问题很简单,你的ADO一定是高版本的(MDAC2.6???)升级吧,从borland的网站上download一个upgrade ADO高版本,我不知道,我是win2000 server, sql2000。我的报表在win2000 server,win98都可以打印,很正常的还要补丁吗?会不会补坏了? Delphi Enterprise Updata Pack 1 Delphi5企业版升级补丁 28.5M 怎么没有序列号? 就是了,就是因为是SQL2000,所以需要打补丁,序列号就是你的光盘上的呀?除非你的是盗版,只有去找一cracker程序了 KAO!!!同样的问题,添加或删除数据后(刷新了的),马上打印预览,预览得到的不是最新数据! 就这个问题,我搞了三天!目前还没解决?fans的方法我都试过,补丁也装了?KAO!!!??? 我一直是用ADOTable,和ADODataset的connectionstring,从没用过ADOConnection的connectionstring。难道是这个问题??我认为决不是这个问题!注意:添加或删除数据后(刷新了的),马上打印预览,预览得到的不是最新数据!(只是调报表时得不到最新的,其他一切正常!) 如何下载Delphi Enterprise Updata Pack 1 Delphi5企业版升级补丁?好像非免费! 到这里下载企业版升级包和ADO升级包 http://www.pchome.net/dl/delphi.htm Delphi Enterprise Updata Pack 1 Delphi5企业版升级补丁 28.5M Delphi5 ADO升级包1 ado pack1 15.85M Delphi5 ADO升级补丁2 ADO pack2 1.7M Borland Delphi5 Update1 S/N: ski-hd3-c139-92x0-91x0 啊~~我从来使用ADOConnection作为最基本的元素其它的ADO控件的连接从来是指向ADOConnection的。所以我的没有出问题:) 我相信决不是用哪个控件的问题,既然ADOTable,和ADODataset提供connectionstring。那用他是应该没问题的, 说白了,你的报表的ADOConnection在程序启动的时候就连接了,而且报表当时就生成了,看你怎么刷。刷了也白刷。 不是的,对数据库操作我用的ADOTable的connectionstring对报表操作我用的ADODataset的connectionstring,这相当于重新连接吗?还有我在调报表 时ADOTable.close...了再连接也不行! 这可能是问题的关键,不管是哪一个connectionstring,刚启动就连好了!现在的问题是动态生成报表了? 动态的FORM做过了没有??动态报表和动态的FORM一样的 动态的FORM是什么东东,怎么用? adotable1.Recordset.Requery(eoAsyncExecute) adotable1.Recordset.Requery(eoAsyncExecute) 我试过,不行! 我猜想,一个关键的地方是-------------------------你的浏览器设置问题,把Intenet临时文件--设置---检查所存网页的较新版本--每次访问此页是检查。应该会OK!要不,你就要把你的asp改一下,设置不把文件存在缓存里。Response.expires = 0 动态生成如下RepFrm:=TrepFrm.Create(Self);RepFrm.Show;RepFrm是你的报表窗体的名称,在报表上用你的Adotable,应没什么问题,我就是这样的如还不明白,明天找我:QQ:37438916 用用这个: Form2:=TForm2.Create(Self); Form2.QuickRep1.ReportTitle :='this a report'; Form2.TitleBand1.Enabled:=False; Form2.QuickRep1.Preview ; Form2.QuickRep1.Free; Form2.free; 为什么要用ADOTable,不用ADOQuery呢?ADOuery不是很好吗? program Project1;uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2};{$R *.RES}begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run;end.unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses Unit2;{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begin Form2:=Tform2.Create(Self); Form2.QuickRep1.Preview; form2.free;end;end.unit Unit2;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, QuickRpt;type TForm2 = class(TForm) QuickRep1: TQuickRep; Label1: TLabel; private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation{$R *.DFM}end. 好像不是:如果你commite,他就存在了,如果你rollback他又不见了。:) 恭喜阿泰 SQL语句问题 关于procedure Click; dynamic; 再次请教一个三层窗体继承问题? SQLSERVER中时间处理函数 请大家帮帮忙 【求助】请问如何根据在一个文本框里输入的字符串动态建立一个同名的ADOQuery? 谢谢 请问能不能在DBGrid里放入两个Lookup字段? 注册表被锁定,怎么办? 请问这是什么东东在作怪 我想说.................... 如何实现两个窗口的切换,不是关闭
我先试试ADOTable1.Requery
也一样不行能用的方法都用了!!!???只有:CherioBoy(冲锋不止) 的方法没试了,可我不知道怎么设?
Cursor
你的ADO一定是高版本的(MDAC2.6???)
升级吧,从borland的网站上download一个upgrade
我的报表在win2000 server,win98都可以打印,很正常的还要补丁吗?会不会补坏了?
怎么没有序列号?
除非你的是盗版,只有去找一cracker程序了
同样的问题,添加或删除数据后(刷新了的),马上打印预览,预览得到的不是最新数据!
KAO!!!???
http://www.pchome.net/dl/delphi.htm Delphi Enterprise Updata Pack 1 Delphi5企业版升级补丁 28.5M
Delphi5 ADO升级包1 ado pack1 15.85M
Delphi5 ADO升级补丁2 ADO pack2 1.7M
其它的ADO控件的连接从来是指向ADOConnection的。
所以我的没有出问题:)
那用他是应该没问题的,
对报表操作我用的ADODataset的connectionstring,这相当于重新连接吗?还有我在调报表 时ADOTable.close...了再连接也不行!
动态报表和动态的FORM一样的
-------------------------
你的浏览器设置问题,
把Intenet临时文件--设置---检查所存网页的较新版本--每次访问此页是检查。应该会OK!要不,你就要把你的asp改一下,设置不把文件存在缓存里。
Response.expires = 0
RepFrm:=TrepFrm.Create(Self);
RepFrm.Show;
RepFrm是你的报表窗体的名称,在报表上用你的Adotable,应没什么问题,我就是这样的
如还不明白,明天找我:QQ:37438916
Form2:=TForm2.Create(Self);
Form2.QuickRep1.ReportTitle :='this a report';
Form2.TitleBand1.Enabled:=False;
Form2.QuickRep1.Preview ;
Form2.QuickRep1.Free;
Form2.free;
ADOuery不是很好吗?
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};{$R *.RES}begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
Form2:=Tform2.Create(Self);
Form2.QuickRep1.Preview;
form2.free;
end;end.unit Unit2;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, QuickRpt;type
TForm2 = class(TForm)
QuickRep1: TQuickRep;
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.DFM}end.