本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告
================

注会练习软件
http://www.cpasoft.com.cn
我的注会软件官网

http://blog.163.com/abc7105@126/

 

 


哈哈,热爱快“过气”的DELPHI


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:注册会计师(注会)练习软件
日志总数:398
评论数量:116
留言数量:27
访问次数:3272658
建立时间:2005年6月6日




[borland eco 技术]ocl查询中的日期处理和变量
软件技术

吕向阳 发表于 2006/5/3 13:05:38

[borland eoc delphi ocl 日期 查询] ocl查询语句中,日期型的常量表示如下#2006-01-01 例如想查询一个人类中生日在90年以后的语句应为 'person.allinsances->selcet(birthday>#1990-01-01'并且要十分注意的是细小的差别也导致程序运行出错,比方今天早上就为这个错误调试了好一会,原因出在:1990-01-01 ,不能将其设为1990-1-1,而这种表达在原delphi中是允许的.另外在ocl中不允许直接出现一般的变量,而只能是eco的变量,举一段代码 var vs: IVariableFactoryService;     ov: IModifiableVariableList;     rRet: IElementCollection;     sCount: string; begin   vs := EcoSpace.VariableFactoryService;      //定义一个变量工厂  ov := vs.CreateVariableList ('vToday', DateTime.Today);      //利用变量工厂建立一个变量列表,其中有一变量为vtoday指向datetime.today  rRet := EcoSpace.OclService.Evaluate('Person.allInstances->select (Birthday >= vToday)',  ov).GetAsCollection;    //在ocl语句中利用这个vtoday变量  sCount := (rRet.Count as Tobject).ToString;    //得到最后计算结果  MessageBox.Show (sCount); end;


阅读全文(1756) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.023 second(s), page refreshed 144803199 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号