简单的问题:如何修改记录中某个字段的值?

zxh7175 2005-08-17 06:01:19
我的某个数据表有几千条记录,要求先按某个字段排序,然后按顺序将这些记录的某个字段赋值,我的代码如下,可老是在qty.FieldByName('bdh').AsString:='ww'+inttostr(i);地方报错,提示数据集没有处在编辑和插入状态,这是怎么回事啊,是不是用select得到的数据集只能添加记录啊?
刚入门,请多关照,谢谢!
qty.SQL.Clear;
qty.SQL.Add('select * from yxzb order by xymc,zydm');
qty.Open;
qty.edit;
qty.First;
for i:=1 to qty.RecordCount do
begin
qty.FieldByName('bdh').AsString:='ww'+inttostr(i);
qty.Next;
end;
qty.Post;
...全文
85 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqhhh 2005-08-17
  • 打赏
  • 举报
回复
qty.SQL.Clear;
qty.SQL.Add('select * from yxzb order by xymc,zydm');
qty.Open;
// qty.edit;
qty.First;
for i:=1 to qty.RecordCount do
begin
if not (Qty.State in [DsEdit, DsInsert] ) then
qty.Edit;
qty.FieldByName('bdh').AsString:='ww'+inttostr(i);
qty.Next;
end;
if Qty.State in [DsEdit, DsInsert] then
qty.Post;
zzlingaaa 2005-08-17
  • 打赏
  • 举报
回复
qty.edit要放在循环内,因为每一条记录都要指定为edit状态才能修改的

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧