Pregunta

Estoy trabajando en un proyecto de C # que utiliza un back-end de base de datos de objetos de Versant y yo estoy tratando de construir una consulta que contiene un operador aritmético. La documentación que se apoya pero que les falta ejemplo.

Estoy tratando de construir algo como esto:

SELECT * FROM _orderItemObject WHERE _qtyOrdered - _qtySent > 0

Si trato de esta declaración en el inspector de objetos consigo un error synthax cerca de la '-'.

Cualquier persona tiene un ejemplo de una VQL trabajar con ese tipo de declaración?

Gracias

¿Fue útil?

Solución

No estoy seguro de que el inspector de objetos sabrá la sintaxis de la expresión arithmtic. Sin embargo, en su código debe estar refiriéndose a la clase completo. A continuación, la sintaxis que está utilizando debe estar perfectamente bien.

Query query = new Query (sesión, "Seleccionar * de com.yourCompany.yourClass donde _qtyOrdered - _qtySent> 0");

QueryResult resultado = query.execute ();

Me acaba de intentar esto en una de mis clases y funcionó bien.

Cheers, -Robert

Otros consejos

Con C # y NCO usted tiene que asegurarse de seleccionar la medida de clase adecuada. Esto se hace mediante la adición del sufijo "Extensión" al nombre de la clase. Por ejemplo, en mi clase de mascotas Me identificar todos los animales domésticos con "PetExtent" en la cadena NCO.

miembros de la clase se accede en el predicado mediante la definición de un moniker local, p en el código siguiente. Cualquier expresiones aritméticas serán evaluados por el motor de consulta.

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 mejor manera de NCO de prueba con Versant C # vinculante es utilizar el navegador de NCO de consulta integrado en Visual Studio. Busque en el menú desplegable de Versant en Visual Studio.

Saludos,

Derek

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top