怎么复制一个TTable和TADOTable???(100分)

  • 主题发起人 主题发起人 ahjie
  • 开始时间 开始时间
A

ahjie

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Table1.assign(Table2)出错
TTable can not assign a TTable

TADOTable也一样
 
AdoQuery1.Clone(AdoQuery2,fmReadOnly)
 
fmReadOnly是什么意思?
Clone在delphi里面也有的啊?
看来我真是土了~
 
Constructor UnloadDataThread.Create(ReturnCount1:Integer;RecordNo1:Integer;Str1:String;LocalTableSave:TTable;RecTime1:String;DBID:String;AdoQuery1:TADOQuery;Num:integer;ThreadNo1:integer;Msg:string;SQL:string);
var
I:Integer;
temp:String;
ParamCount:Integer;
Begin
Inherited Create(False)
//马上启动线程
ThreadQuery:=TADOQuery.Create(nil);
ThreadQuery.Clone(AdoQuery[Num],ltUnspecified);
WaitForSingleObject(FSemaphoreCon,INFINITE);
ThreadQuery.Connection:=Form1.GetConnection(Number);FreeOnTerminate:=True;
End;

请问大侠,我这里是线程创建的一段代码,但在ThreadQuery.Clone这里就出错了,怎么回事啊?
 
ThreadQuery.Clone(AdoQuery[Num],ltUnspecified);

这个地方的NUM不能这么用。

可以这样来写
var
tempComponent: TComponent;
begin
tempComponent := FindComponent('AdoQuery'+inttostr(num));
......

ThreadQuery.Clone(TAdoQuery(tempComponent),ltUnspecified);
end;
 
大哥,能不能解释一下为什么要这样写?
 
接受答案了.
 
后退
顶部