我有一个旧的 Delphi 系统的问题,这个系统将数据插入到 SQL Server 表中。
10 年后,将表的字段从 100 个字符更改为 255 个字符长。
系统选择该表的所有注册器,并在转换后将它们放在另一个表中。这很好用。
问题在于系统何时更新字段。
那告诉我错误
EDBEngineError 带有消息“无法执行编辑,因为另一个用户更改了记录。
sConsulta:='SELECT * FROM cuentas WHERE (WALL= 2) AND (SEND_DATE = '01/01/1970')';
m_oQryLeg.Close;
m_oQryLeg.SQL.Clear;
m_oQryLeg.SQL.Add(sConsulta);
m_oQryLeg.Open;
m_oTblNov.Close;
m_oTblNov.TableName:='des_table';
m_oTblNov.Open;
with m_oTblNov do
begin
while (not m_oQryLeg.EOF) do
begin
Insert;
FieldbyName('COD_HOME').AsString:= m_oQryLeg.FieldByName('USR_HOME').AsString;
(...)
Post;
m_oQryLeg.Edit;
m_oQryLeg.FieldByName('SEND_DATE').AsDateTime:= Date; //<-- HERE THE ERROR
m_oQryLeg.Post;
m_oQryLeg.First;
m_oQryLeg.MoveBy(i);
inc(i);
end;
end;
m_oTblNov.Close;
m_oQryLeg.Close;
更新模式:upWhereAll
cuentas 表:
- NUM_SOL nvarchar 6 *PK
- 墙小号 1
- SEND_DATE 小日期时间 4
- OBS_CRED nvarchar 255
- FLCC 真实 4
- 街道 nvarchar 30