欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 在符合if条件下才进行数据库插入语句,为什么不符合if条件,仍会执行该数据库相关语句?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5201人关注过本帖树形打印复制链接

主题:在符合if条件下才进行数据库插入语句,为什么不符合if条件,仍会执行该数据库相关语句?

美女呀,离线,留言给我吧!
淡月映梅
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:274 积分:956 威望:0 精华:0 注册:2012/11/27 10:33:50
在符合if条件下才进行数据库插入语句,为什么不符合if条件,仍会执行该数据库相关语句?  发帖心情 Post By:2013/4/7 17:39:38 [显示全部帖子]

                      DATABASE('driver=SQL Server;Server=192.168.0.105;DATABASE=hkysignal;UID=sa;PWD=123');
                      update_sql:='update signal set ordertime=' & numtostr(time,0) & ',orderprice=' & numtostr(c,0) & ' where ID=(select MAX(id) from signal)';
                       if c>5555 then 
                          begin 
                             dbtable('insert into signal(stockdate,direction,operation) values(getdate(),"S","buyshort")');
                             dbexecute(update_sql);
                          end;  

分条件进行插入语句,为什么上面的句子明明价格不会大方于5555,仍会执行插入语句 ?

 回到顶部
美女呀,离线,留言给我吧!
淡月映梅
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:274 积分:956 威望:0 精华:0 注册:2012/11/27 10:33:50
  发帖心情 Post By:2013/4/8 18:21:11 [显示全部帖子]

??什么意思呀?上面的语句仍是有进行插入数据库的。
[此贴子已经被作者于2013-4-8 18:22:10编辑过]

 回到顶部
美女呀,离线,留言给我吧!
淡月映梅
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:274 积分:956 威望:0 精华:0 注册:2012/11/27 10:33:50
  发帖心情 Post By:2013/4/9 12:00:46 [显示全部帖子]

图片点击可在新窗口打开查看,可能是我用dbtable的原因吧,像下面的语句就不会进行插入数据库动作
cond:c>5555;
 DATABASE('driver=SQL Server;Server=192.168.0.105;DATABASE=hkysignal;UID=sa;PWD=123');
 if cond then 
 begin 
 debugfile('d:\temp.txt','testvalue:= %2f',cond);
 dbexecute('insert into signal(stockdate) values(getdate())');
 debugfile('d:\temp.txt','testvalue2:= %2f',cond);
 end;
用dbtable的原因是它能实现字符串的数据库插入动作。而dbexecute不行

 回到顶部