It's been OK for a long before I use D5,
and the terrible things came from an upgrade to D6 and use "doa34D6.exe". (I even upgrade to today's version.)

Every joined multiple tables in a main editable table yeilded this error if you try
to edit any main table's field.
Here is my TOracleDataset's SQL.Text:

------------------------------------
select delvmain.rowid,delvmain.invoice invoice,
delvmain.custcode custcode,delvmain.closdate closdate,
delvmain.etd etd,delvmain.bnotes bnotes,
delvmain.mnotes mnotes,e.payday payday,e.empno empno,
b.mas_amt mas_amt,c.sumout sumout,
(nvl(b.mas_amt,0)+nvl(c.sumout,0)+nvl(f.suminv,0)) sumtot,
d.sumbid sumbid,
f.suminv suminv,
(nvl(c.sumout,0)+nvl(b.mas_amt,0)+nvl(f.suminv,0)-nvl(d.sumbid,0)) sumleft
from delvmain ,
(select invoice,sum(nvl(mas_amt,0)) mas_amt from mas01 group by invoice) b,
(select invoice,sum(round(nvl(conf_qty,0)*nvl(conf_prc,0),2)) sumout from delvdetl
group by invoice) c,
(select bid_invno,
sum(nvl(bid_amt,0)-decode(bid_asid,'