Question

Je travaille sur un projet c # qui utilisent une base de données d'objets Versant Rendue fin et je suis en train de construire une requête qui contient un opérateur arithmétique. La documentation indique qu'il est pris en charge mais manque aucun exemple.

Je suis en train de construire quelque chose comme ceci:

SELECT * FROM _orderItemObject WHERE _qtyOrdered - _qtySent > 0

Si je tente cette déclaration dans l'inspecteur d'objets je reçois une erreur de synthaxe près du « - ».

Toute personne a un exemple d'un VQL de travail avec ce genre de déclaration?

Merci

Était-ce utile?

La solution

Je ne suis pas sûr que l'inspecteur d'objets saura la syntaxe pour l'expression arithmtic. Cependant, dans votre code, vous devriez référence à la classe pleinement qualifié. Ensuite, la syntaxe que vous utilisez doit être parfaitement bien.

query = nouvelle requête (session, "Select * from com.yourCompany.yourClass où _qtyOrdered - _qtySent> 0");

Résultat QueryResult = query.execute ();

Je viens d'essayer ce sur une de mes classes et il a bien fonctionné.

Cordialement, -Robert

Autres conseils

Avec C # et OQL vous devez vous assurer que vous sélectionnez l'étendue de la classe appropriée. Cela se fait en ajoutant le suffixe « étendue » au nom de la classe. Par exemple, dans ma classe Pet j'identifier tous les animaux de compagnie avec « PetExtent » dans la chaîne de OQL.

Les membres du groupe sont accessibles dans le prédicat en définissant un sobriquet local, p dans le code ci-dessous. Les expressions arithmétiques seront évaluées par le moteur de recherche.

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());

La meilleure façon de tester OQL avec C # de la liaison est à Versant utiliser le navigateur intégré dans OQL requêtes Visual Studio. Regardez sous le menu déroulant Versant dans Visual Studio.

Cordialement,

Derek

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top