我有一个旧的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;
的UpdateMode:upWhereAll
cuentas表:
- NUM_SOL nvarchar的6 * PK
- WALL TINYINT 1
- SEND_DATE SMALLDATETIME 4
- OBS_CRED nvarchar的255
- FLCC真正的4
- STREET为nvarchar 30
您应该提供更多信息,或许是一段代码 – Najem 2011-04-19 15:21:18
您目前使用哪种更新模式?你能提供cuentas表中的列和类型列表吗?有可能其中之一导致错误,BDE有某些浮点类型的问题。 – 2011-04-19 17:15:24