H
hehuan
Unregistered / Unconfirmed
GUEST, unregistred user!
碰到修改日期的数据值 就有这样的错误:row cannot be located for updating <br><br>row cannot be located for updating .<br> some values may have been changed since it was last read<br><br>代码如下:<br><br> ADOQuery1.Close;<br> ADOQuery1.SQL.Add('select * from inscription where ins_id='+ IntToStr(PosMgrInscription.idInscription));<br> ADOQuery1.Open;<br> ADOQuery1.Edit;<br> ADOQuery1.FieldByName('ins_duree_cert1').AsString := duree1.Text;<br> ADOQuery1.Post;<br> ADOQuery1.Close;<br>这样没有问题<br><br>但是实际上还需要修改多个类型的值,因此如下:<br> ADOQuery1.Edit;<br> ADOQuery1.FieldByName('ins_duree_cert1').AsString := duree1.Text;<br> ADOQuery1.FieldByName('ins_datefin_cert1').AsDateTime := Trunc(datefin1.Date); // 数据库定义日期类型为0000-00-00<br> ADOQuery1.Post;<br>就出现了如上错误。查了DFW历史数据库,所说的非定义主键、记录重复等等情况,在我这里不存在。最大的可能是DELPHI ADO本身的bug。但是我不修改日期型字段就不出错,怪! 我是用Winxp +Delphi7+update1.1+odbc+ mysql5 ,<br><br>把日期型数值插入数据库时没有问题。代码如下:<br> with DM.Query1 do<br> SQL.Add('Select * from Classe');<br> Open;<br> Append;<br> fieldbyname('cls_datebegin').AsDateTime:= datebegin.Date;<br> fieldbyname('cls_dateend').AsDateTime:= dateend.Date;<br> Post;<br> Close;<br>还请各位大大指教。