delphi 中出现dataset not in edit or insert mode的问题
Posted jijm123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 中出现dataset not in edit or insert mode的问题相关的知识,希望对你有一定的参考价值。
self.ADOQuery2.Edit; self.ADOQuery2.First; while not self.ADOQuery2.Eof do begin self.ADOQuery2.FieldByName(‘单价‘).Value:=roundto(self.ADOQuery2.FieldByName(‘单价‘).Value,-2); self.ADOQuery2.Next; end; self.ADOQuery2.Post; 这是显示在一个DBGrid里面 我是想把单价保留2位小数, 但是老出现这个问题,显示出错的self.ADOQuery2.Next句 我在网上也找了,都说是没进入edit状态, 但是我明明有edit,问题出在哪里,请帮帮忙 |
当你使用First或Next时ADOQuery2会自动Post,ADOQuery2处于dsBrowse状态(数据集已打开,可以浏览数据,但是不能进行修改) 所以你必须在赋值语句前使用Edit,我帮你修改程序如下: self.ADOQuery2.First; while not self.ADOQuery2.Eof do begin self.ADOQuery2.Edit; self.ADOQuery2.FieldByName(‘单价‘).Value:=roundto(self.ADOQuery2.FieldByName(‘单价‘).Value,-2); self.ADOQuery2.Post; self.ADOQuery2.Next; end; |
//self.ADOQuery2.Edit; X self.ADOQuery2.First; while not self.ADOQuery2.Eof do begin ADOQuery2.Edit; /// self.ADOQuery2.FieldByName(‘单价‘).Value:=roundto(self.ADOQuery2.FieldByName(‘单价‘).Value,-2); ADOQuery2.Post; /// self.ADOQuery2.Next; end; //self.ADOQuery2.Post; X Edit针对当前游标所在行,你next的时候,游标移动了,这个时候会自动POST |
以上是关于delphi 中出现dataset not in edit or insert mode的问题的主要内容,如果未能解决你的问题,请参考以下文章
detectron2报AttributeError: Attribute ‘evaluator_type‘ does not exist in the metadata of dataset(代码片段
delphi dataset DisableControls
delphi程序问题:Class TComPort not found. lgnore the error and continue?