Versant的OQL语句用算术运算符
-
25-09-2019 - |
题
我正在使用一个Versant对象数据库后端的C#项目,我试图建立一个包含算术运算符的查询。的文档状态,它被支撑,但缺乏任何示例。
我试图建立这样的:
SELECT * FROM _orderItemObject WHERE _qtyOrdered - _qtySent > 0
如果我尝试在对象这一说法督察拿到附近的synthax错误“ - ”
任何人有一个工作VQL的一个例子与一种说法?
由于
解决方案
我不知道,在Object Inspector就知道了arithmtic表达式的语法。然而,在你的代码应该指的是完全合格的类。然后,你正在使用的语法应该是完美的罚款。
查询的查询=新查询(会话, “SELECT * FROM com.yourCompany.yourClass其中_qtyOrdered - _qtySent> 0”);
QueryResult中结果= query.execute();
我只是想在我的课之一了这一点,它工作得很好。
干杯, -Robert
其他提示
在C#和OQL你必须确保你选择正确的类范围。这是通过添加“范围”为后缀的类名来完成。举例来说,在我的宠物类我会找出所有以“PetExtent”宠物在OQL字符串。
类成员在谓词通过在下面的代码定义一个局部的绰号,对访问。任何算术表达式将被查询引擎进行评估。
string query="SELECT * FROM PetExtent AS p WHERE p.Name = \"Ferris\" AND (p.age + 5) > 4";
IQueryResult result = scope.GetOqlQuery(query).Execute();
foreach (object o in result)
Out(o.ToString());
要测试OQL与Versant的C#结合,最好的方法是使用OQL查询浏览器集成到Visual Studio。看Versant的菜单下的下拉在Visual Studio。
此致
德里克
不隶属于 StackOverflow