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

  • 主题发起人 主题发起人 lcmlhs
  • 开始时间 开始时间
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方法里,就会报异常,什么原因啊
 
Should use a Session in Thread.
 
要用到 CoInitialize()?
 
com组建在线程里面调用需要CoInitialize()
 
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;只是我写的调用 线程里面的 更新函数
 
adodataset1.open;adodataset1.first;
///////是不是需要这行代码while not adodataset1.eofdo
begin
adodataset1.edit;
adodataset1.fieldbyname("字段1").asstring:=变量;
adodataset1.post;
adodataset2.next;
end;
 
后退
顶部