delphi dbgrideh逐条更新值并显示

老杨_sz 2011-03-01 03:03:38
1、根据检索条件查询结果并显示在dbgrideh中 ,--此步已经完成(语句是ABC表关联)
2、根据dbgrideh显示的结果循环逐条更新A表某个字段值
先更新dbgrideh中第一条,根据第一条的关键字段更新A表某个字段值,字段值的获取是根据SQL查询AD表的结果(比如是001);
更新第一条后,字段值的获取要根据更新后的A表关联D表查询的结果(比如是002),然后再更新第二条,依次类推。
3、在逐条更新的同时dbgrideh显示更新结果,更新第一条后随即显示结果值,更新第二条后也随即显示结果值,依次类推。

请高手们给出解决方案,有相关循环更新过程示例更好!
...全文
250 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kye_jufei 2011-03-02
  • 打赏
  • 举报
回复
可以通過SQL關聯更新再刷新數據集。。。
bdmh 2011-03-01
  • 打赏
  • 举报
回复
前两个,可以通过sql去更新,第三个,更新了所有的之后,重新requery,否则看不到数据
老杨_sz 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

循环更新用的找操作grid吗,直接操作数据,因为这都是联动的

while not adoquery1.eof do
begin
adoquery1.edit;
adoquery1.fieldByname('f').asstring := '1';
adoquery1.post;
adoquery1.next;
end;
[/Quote]

其一、先查询并显示在dbgrideh,查询调用ABC三张表合集结果;
其二、逐条更新的结果是变量,是根据逐条更新后查询结果做更新值;
其三、要把逐条更新的结果值回显在dbgrideh,与之前查询的结果组合成结果集。
bdmh 2011-03-01
  • 打赏
  • 举报
回复
循环更新用的找操作grid吗,直接操作数据,因为这都是联动的

while not adoquery1.eof do
begin
adoquery1.edit;
adoquery1.fieldByname('f').asstring := '1';
adoquery1.post;
adoquery1.next;
end;

2,498

社区成员

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

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