Вопрос

Я работаю над проектом AC #, который использует заднюю часть базы данных составляющих объектов, и я пытаюсь создать запрос, который содержит арифметический оператор. Документация заявляет, что она поддерживается, но не хватает какого-либо примера.

Я пытаюсь построить что-то вроде этого:

SELECT * FROM _orderItemObject WHERE _qtyOrdered - _qtySent > 0

Если я попробую это утверждение в инспекторе объектов, я получаю ошибку синтаксики вблизи «-».

У кого-нибудь есть пример рабочего VQL с таким выписком?

Спасибо

Это было полезно?

Решение

Я не уверен, что инспектор объекта будет знать синтаксис для арифмитского выражения. Однако в вашем коде вы должны ссылаться на полностью квалифицированный класс. Затем синтаксис, который вы используете, должен быть идеально в порядке.

Query Query = Новый запрос (сеанс, выберите * от com.yourCompany.yourclass, где _qtyorked - _qtysent> 0 ");

Результат QueryResult = Query.execute ();

Я просто попробовал это на одном из моих классов, и это работало нормально.

Ура, -Роберт

Другие советы

С C # и OQL вы должны убедиться, что вы выбираете правильную степень класса. Это сделано путем добавления суффикса «масштаба» к названию класса. Например, в моем классе домашних животных я бы идентифицировал всех домашних животных с «Petextent» в строке OQL.

Участники классов доступны в предикате, определяя локальный моникер, P в коде ниже. Любые арифметические выражения будут оцениваться двигателем запроса.

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 с помощью связывания C # Versan C # - использовать браузер OQL Query, встроенного в Visual Studio. Посмотрите под падением меню Versan в Visual Studio.

С уважением,

Дерек

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top