SOS!碰到一个难办的事情,哪位大哥帮我看看!--在线等待.(20分)

  • 主题发起人 主题发起人 衫菜
  • 开始时间 开始时间

衫菜

Unregistered / Unconfirmed
GUEST, unregistred user!
一个PARADOX表TB1,其中有三个字段A,B,C,都是INT,
索引是先A再B再C,可是我在一个过程中要对表进行如下操作,
把A大与等与10的记录的字段A都加上1,可是QUERY一直说错误不能完成,
请问我该怎么办呢???
 
难道真的没有什么有效的办法吗???
 
SQL语句:
update TB1 
set a=a+1
where a>=10

OK!
 
如果字段a的最小间隔是1,那就可能出错!

办法一是分两次做:
先加上一个绝对大的数,如max(a)
然后减去(max(a) - 1)
办法二是用倒排序做
query.sql.text := 'select a from tb1 order by a abs';
query.open;
query.first;
while not query.eof do
begin
query.edit;
query.fieldbyname('a').asinteger := query.fieldbyname('a').asinteger + 1;
query.next;
end;
query.applyupdate;
//没调试过
 
huawdg的方法是正确的
 
你们说的都不对,不过我已经有办法了,所以只好把分送给你们,55555555555
记的下次还给我啊![:(!]
 

Similar threads

D
回复
0
查看
859
DelphiTeacher的专栏
D
D
回复
0
查看
827
DelphiTeacher的专栏
D
D
回复
0
查看
775
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
890
SUNSTONE的Delphi笔记
S
后退
顶部