秋天之落叶 2024-12-18 10:32:47
请教一个依次循环修改字段的算法 数据表A,字段a100行数据,b全是空值 数据表B,字段a2行数据分别是1和2 把数据表B的1和2依次循环写入到数据表A的b字段 显示结果 a b 1 1 2 2 3 1 4 2 5 1 6 2 ...... 试了试双循环不行,把1和2循环写入stringlist直到100行,然后再对应的update?感觉不是好的办法。实在是想不出来其他办法了。
...全文
214 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

是不是有SQL功能一条语句实现还不了解,用Delphi组合处理是很容易的:

  1. 首先读B的a字段所有数据到一个数组,比如: BA: array of string;
  2. 循环处理A
    var rec: integer = 0;
    A.Edit; // 很久不用数据库功能,忘了要不要这个
    A.First;
    while not A.EOF do
    begin
    A.FieldByName('a').Value := BA[rec];
    Inc(rec);
    if rec = Length(BA) then rec := 0;
    A.Next;
    // ...
    end;
秋天之落叶 2024-12-18
  • 举报
回复
@日立奔腾浪潮微软松下联想 又试了试,搞定了,主要是第一层循环的next的位置,应该放在第二层循环中使用,没有使用数组,直接使用sql语句,仅有一点还没搞懂就是最后一行数据总是倒数第二行数据重复,估计还是循环的问题。
  • 打赏
  • 举报
回复

只要有规律的几个数据循环都可以

秋天之落叶 2024-12-18
  • 打赏
  • 举报
回复

奇偶行赋值?好像可以,常规算法是如何的?

秋天之落叶 2024-12-18
  • 举报
回复
@秋天之落叶 奇偶不行,如果是三个数据循环修改就不行了

5,908

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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