我正在使用一个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。

此致

德里克

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top