源程序如下:
Progressbar1.Max := ADOTable1.RecordCount;
ADOTable1.First;
While not ADOTable1.Eof do begin
if ClientDataSet1.FindKey([ADOTable1['MNo']]) then begin
ShowMessage('材料代码有重复!');
Break;
end;
ClientDataSet1.Append;
ClientDataSet1.FieldByName('Cldm').AsString := ADOTable1['MNo'];
ClientDataSet1.FieldByName('Tcj').Value := ADOTable1['Price'];
ClientDataSet1.FieldByName('JCGS').Value := StrToFloat(ADOTable1['Price']);
ClientDataSet1.Post;
Progressbar1.Position := ADOTable1.RecNo;
ADOTable1.Next;
Application.ProcessMessages;
end;
ADOTable1.Close;老是要出错,提示为:
“Bof 或Eof中有一个是‘真’,或当前记录以被删除,所需要的操作要求一个当前的记录。”请问这是什么原因造成的?谢谢!up有分拿。
Progressbar1.Max := ADOTable1.RecordCount;
ADOTable1.First;
While not ADOTable1.Eof do begin
if ClientDataSet1.FindKey([ADOTable1['MNo']]) then begin
ShowMessage('材料代码有重复!');
Break;
end;
ClientDataSet1.Append;
ClientDataSet1.FieldByName('Cldm').AsString := ADOTable1['MNo'];
ClientDataSet1.FieldByName('Tcj').Value := ADOTable1['Price'];
ClientDataSet1.FieldByName('JCGS').Value := StrToFloat(ADOTable1['Price']);
ClientDataSet1.Post;
Progressbar1.Position := ADOTable1.RecNo;
ADOTable1.Next;
Application.ProcessMessages;
end;
ADOTable1.Close;老是要出错,提示为:
“Bof 或Eof中有一个是‘真’,或当前记录以被删除,所需要的操作要求一个当前的记录。”请问这是什么原因造成的?谢谢!up有分拿。
解决方案 »
- 高分求助,怎样在flash播放控件上叠加字幕
- 关于idftpserver 简单问题
- GotoBookmark(pointer(FzhDBGrid1.SelectedRows.Items[j]))问题
- 讨论:一个系统中有太多的Form如何办,有高手说可以写通用的Form类,谁可以指教,最好有实例
- 关于排班管理
- 自定义组件事件响应
- 应用问题!
- 我想用raize中的rzgroupbar控件
- 如何编写一个计算体积的函数?
- 请问asta怎样用事务执行一个新增语句,一个修改语句,一个存储过程的后,得到存储过程的输出参数值(100分在线等)
- 请问各位delphi帮助文档是怎么搞得?多谢了
- 请有实际经验的大富翁说说: 怎么通过Delphi编程实现Oracle的备份与恢复
在 DELPHI 6 \DELPHI 7 中没有此问题。
难道真是bug?换个思路,用ADOTable1.RecNo :=ADOTable1.RecNo+1;来实现,
要多执行一遍,由于我的‘MNo’是唯一的,如果有重复的就Break出来,这样行吗?
如果有bug的话,在什么地方下载升级程序?谢谢!!!
现在我换Delphi6重新作了一遍,就pass了。
再次感谢各位的帮助!