用线程更新数据库记录的问题,高手进,在线等(50)

L

lcmlhs

Unregistered / Unconfirmed
GUEST, unregistred user!
更新一个数据表table1adodataset1.openwhile not adodataset1.eofdo
begin
adodataset1.edit;
adodataset1.fieldbyname("字段1").asstring:=变量;
adodataset1.post;
adodataset2.next;
end;
上面不放到线程的时候正常,一放到线程类的onexecute方法里,就会报异常,什么原因啊
 
F

faunter

Unregistered / Unconfirmed
GUEST, unregistred user!
M

muhx

Unregistered / Unconfirmed
GUEST, unregistred user!
Should use a Session in Thread.
 
L

liuls

Unregistered / Unconfirmed
GUEST, unregistred user!
要用到 CoInitialize()?
 
Q

qiuyan81

Unregistered / Unconfirmed
GUEST, unregistred user!
com组建在线程里面调用需要CoInitialize()
 
D

duxing

Unregistered / Unconfirmed
GUEST, unregistred user!
Result := False;
CoInitialize(Nil);
ADOQ := TADOQuery.Create(Nil);
ADOQ.ConnectionString := conString;
Try With ADOQdo
begin
Close;
SQL.Clear;
SQL.Add(SQLString);
Try ExecSQL;
Except SaveIniDate(SQLString);
Exit;
end;
Result := True;
end;
Finally ADOQ.Close;
FreeAndNil(ADOQ);
CoUninitialize;只是我写的调用 线程里面的 更新函数
 

刀疤董

Unregistered / Unconfirmed
GUEST, unregistred user!
adodataset1.open;adodataset1.first;
///////是不是需要这行代码while not adodataset1.eofdo
begin
adodataset1.edit;
adodataset1.fieldbyname("字段1").asstring:=变量;
adodataset1.post;
adodataset2.next;
end;
 
顶部