Frage

Ich arbeite an einem c # Projekt, das eine Versant Object Database Backend verwenden und ich versuche, eine Abfrage zu erstellen, die einen arithmetischen Operator enthält. Die Dokumentation gibt an, dass es unterstützt wird, aber es fehlt kein Beispiel.

Ich bin zu bauen so etwas wie dies versuchen:

SELECT * FROM _orderItemObject WHERE _qtyOrdered - _qtySent > 0

Wenn ich diese Aussage im Objekt versuchen bekommen Inspector ich einen Synthax Fehler in der Nähe des ‚-‘.

Jeder hat ein Beispiel eines Arbeits VQL mit dieser Art von Aussage?

Danke

War es hilfreich?

Lösung

Ich bin nicht sicher, dass der Objektinspektor die Syntax für den arithmtic Ausdruck kennt. Jedoch in Ihrem Code sollten Sie die vollständig qualifizierte Klasse mit Bezug. Dann wird die Syntax sollten Sie verwenden sein völlig in Ordnung.

Abfrage query = neue Query (Sitzung, "Select * from com.yourCompany.yourClass wo _qtyOrdered - _qtySent> 0");

queryresult Ergebnis = query.execute ();

Ich habe gerade versucht, diese aus auf einem meiner Klassen und es funktionierte gut.

Cheers, -Robert

Andere Tipps

Mit C # und OQL müssen Sie sicherstellen, dass Sie die richtige Klasse Grad wählen. Dies wird durch Hinzufügen des „Umfang“ Suffix den Klassennamen gemacht. Zum Beispiel in meiner Pet Klasse würde ich alle, die Tiere mit „PetExtent“ in der OQL Zeichenfolge identifizieren.

Die Schüler werden in dem Prädikat zugegriffen durch einen lokalen Moniker definiert, p in dem folgenden Code. Jegliche arithmetische Ausdrücke werden von der Abfrage-Engine ausgewertet werden.

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

Der beste Weg, um Test OQL mit Versant C # Bindung ist den OQL Query Browser in Visual Studio integriert zu verwenden. Blick unter dem Versant Dropdown-Menü in Visual Studio.

Mit freundlichen Grüßen

Derek

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top