DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: diga
今日帖子: 28
在线用户: 11
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 chengyao (百炼成尧) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 12:39:46
标题:
数据库问题? 浏览:1462
加入我的收藏
楼主:  begin
  adoquery1.first;
   while counter<=adoquery1.RecordCount do
     begin
      x_a:=adoquery1.fieldbyname('x').asfloat;
      y_a:=adoquery1.fieldbyname('y').AsFloat;
   adoquery1.next;
      x_b:=adoquery1.fieldbyname('x').AsFloat;
      y_b:=adoquery1.fieldbyname('y').AsFloat;
      xx:=(l-y_a)*(x_b-x_a)/(y_b-y_a)+x_a;
adoquery2.append;
adoquery2.FieldByName('x').AsFloat:=xx;
adoquery2.FieldByName('l').AsFloat:=adoquery1.fieldbyname('l').AsFloat;
adoquery2.Post;
     counter:=counter+1;
  end;
end;

错误提示: invalid floating point operation (无效的浮点操作)!

取了while 循环后就正常了,是为什么啊?
----------------------------------------------
Function IThink(Boy,Girl : TPerson) : String;
begin
  if Boy.钱 < 10W then Girl.Say(''滚!'') else
  begin
     if Girl.Anser = ''我愿意'' then
     Result := ''结婚'' else
     Result := IntToStr(88);
  end;
风过不折→百炼成尧 QQ: 7315910
作者:
男 ligang197866 ( ) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 13:01:25
1楼: 你在adoquery1.next后计还取值当然不行,改为在循环到第二次再取就行了
----------------------------------------------
-
作者:
男 chengyao (百炼成尧) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 14:36:07
2楼: 我的目的就是要在每一次循环时取第一行的x,y和下一行的x,y啊,当然要先在next后取值啊。
能不能说得明白一点啊?
----------------------------------------------
Function IThink(Boy,Girl : TPerson) : String;
begin
  if Boy.钱 < 10W then Girl.Say(''滚!'') else
  begin
     if Girl.Anser = ''我愿意'' then
     Result := ''结婚'' else
     Result := IntToStr(88);
  end;
风过不折→百炼成尧 QQ: 7315910
作者:
男 ligang197866 ( ) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 16:30:02
3楼: 那在最后一个循环后就不要在取值了同时不要再adoquery1.next
----------------------------------------------
-
作者:
男 chengyao (百炼成尧) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 16:57:55
4楼: 也就是我把 while counter<=adoquery1.RecordCount do 中的 <= 改为< 就可以了吗?
----------------------------------------------
Function IThink(Boy,Girl : TPerson) : String;
begin
  if Boy.钱 < 10W then Girl.Say(''滚!'') else
  begin
     if Girl.Anser = ''我愿意'' then
     Result := ''结婚'' else
     Result := IntToStr(88);
  end;
风过不折→百炼成尧 QQ: 7315910
作者:
男 ligang197866 ( ) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 17:00:21
5楼: 试一试吧,我认为应该没问题。要下线了
----------------------------------------------
-
作者:
男 chengyao (百炼成尧) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 17:10:20
6楼: 好的,谢谢你了哈,我也下班了,明天再试啊。
----------------------------------------------
Function IThink(Boy,Girl : TPerson) : String;
begin
  if Boy.钱 < 10W then Girl.Say(''滚!'') else
  begin
     if Girl.Anser = ''我愿意'' then
     Result := ''结婚'' else
     Result := IntToStr(88);
  end;
风过不折→百炼成尧 QQ: 7315910
作者:
男 waterstone (waterstone) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 18:29:15
7楼: see you later!

----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
男 szsun (菜刀) ★☆☆☆☆ -
盒子活跃会员
2004/2/26 20:14:35
8楼: 哥们,如果你取值取到query1的最后一行,你那个next怎么办?所以我认为还是你的数据结构设计有问题,建议你检查一下,或者如果你非要取,那么你要指定取到最后一行时该怎么处理.我的qq:276557995,希望大家做个朋友,共同提高.
----------------------------------------------
不花钱拥有的美好   海边的栈桥和小青岛   我嘴角边的狗尾草
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行66.40625毫秒 RSS