奇怪的ADO的公文包模式(50分)

  • 主题发起人 主题发起人 吴剑明
  • 开始时间 开始时间

吴剑明

Unregistered / Unconfirmed
GUEST, unregistred user!
先用ADOQUERY来个带条件的查询。关闭。
然后SAVETOFILE
再LOADFROMFILE
然后再来个带条件的查询,就会出错。说什么目录名不正确云云。莫名其妙?
哪个大虾见到过?
 
把代码写出来。我刚勇了,没见什么问题。当然我用的可能和你用的不太一样
 
adoquery.sql.clear;
adoquery.sql.add('select * from a where x=y')
adoquery.open
....
adoquery.savetofile('aa')
adoquery.loadfromfile('aa')
.....
adoquery.sql.clear;
adoquery.sql.add('select * from a where x=y')
adoquery.open // error in here
 
View Cpu:
00477133 7522 jnz TcustomADODataSet.OpenCursor + $F7
我也faint.再看。。。
 
菜单项:“保存为。。” savetofile
"打开。。" loadfromfile
各自对应一个form,也就是loadfromfile,释放一次AdoQuery1以后就可以了。
最笨的办法就是重新create Adoquery1了:(
试验了一下,在loadfromfile以后,
adoquery.sql.clear;
//adoquery.sql.add('select * from a where x=y')----不要这句sql 语句
adoquery.open
没有错误出现,有数据(文件中的)。也就是说loadfromfile 的时候它自己内建
了sql 语句,在程序中AdoQuery1.sql.clear,去不掉。。。。。
 
procedure TCustomADODataSet.LoadFromFile(const FileName: WideString);
begin
Close;
CommandType := cmdFile;
LockType := ltBatchOptimistic;
CommandText := FileName;
Open;
end;
果然如此,你换用TadoDataset,然后再第二次查询之前把CommandText先清空吧。如果一定要
在一个form里的话。
 
老千说的不行。:(
 
尼问问题也不少了,还不会问。
在什么情况下出什么错误,拜托尼说的清楚些好么。
 
你回答问题也答了不少了,还不会回答。
》》在什么情况下出什么错误,拜托尼说的清楚些好么。
我上面第一个帖子不是说的明明白白的么。。。
 
第一个是TadoQuery,现在说的是TadoDataset.
 
可我必须使用ADOQUERY。:(
 
回答!!!
 
算了,老千就给你分吧。
 
接受答案了.
 

Similar threads

回复
0
查看
830
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部