Sintaxis en Visual Fox Pro Símbolo "?"

1,029 views
Skip to first unread message

stallman stallman

unread,
May 3, 2011, 2:02:19 AM5/3/11
to publice...@googlegroups.com
Hola Estimados Señores.

- Quisiera saber qué significa, a qué equivale o qué función tiene la interposición del símbolo "?" en variables que lo he visto en mucha sintaxis de código.
ej:
WHERE Products.Category = ?lcCat

Les agradezco mucho me puedan explicar.

Marcelo Barberis

unread,
May 3, 2011, 3:13:23 AM5/3/11
to publice...@googlegroups.com
en consultas este operador creo que se utiliza para hacerte una pregunta antes de ejecutarla, por ejemplo segun tu linea condicionas las salida para products.category y le debes pasar un parametro antes de ejecutarse la consulta y este parametro esta en la variable lcCat una vez que le pasas este parametro la consulta se ejecutara.
Espero haberte ayudado un poco
Marcelo Barberis

Luis Maria Guayan

unread,
May 3, 2011, 7:47:51 AM5/3/11
to publice...@googlegroups.com
Se utiliza para parametrización de variables en sentencias SQL, tanto nativas de VFP como en consulta a través de SPT (SQL Pass Through )

Mira este interesante artículo del amigo Espartaco


-- Cliente-Servidor: Parametrización de Variables --
http://www.portalfox.com/article.php?sid=2440


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

stallman stallman

unread,
May 3, 2011, 1:23:09 PM5/3/11
to publice...@googlegroups.com
Ok, entonces según lo que estube leyendo sería lo relativo a C++ cuando pasamos argumentos o parámetros por valor y/o referencia?
Ej:
 
Usando variable referencia
int i;
int &x=i; // x es un alias de i
x=40; // i vale 40

Usando punteros
int i;
int *p=&i;
*p=40; //i vale 40

Luis Maria Guayan

unread,
May 3, 2011, 1:30:26 PM5/3/11
to publice...@googlegroups.com
Nada que ver, esto es solo para sentencias SQL

Para pasar parámetros por valor o por referencias a funciones o procedimientos se configura SET UDFPARMS TO VALUE o
SET UDFPARMS TO REFERENCE, en este ultimo caso se puede pasar un parámetro por referencia anteponiendo @ al nombre del parámetro

 

 

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________


Juan de Dios Corrales Leal

unread,
May 3, 2011, 1:49:39 PM5/3/11
to Comunidad de Visual Foxpro en Español
Facil...

Si la variable existe al momento de hacer la consulta se ejecutara de
manera normal....

Si la variable no existe al momento de hacer la consulta el compilador
te preguntara por el valor y luego se ejecuta la consulta....

Creo que esta es la respuesta que buscabas...

diter flautero

unread,
May 3, 2011, 2:16:29 PM5/3/11
to publice...@googlegroups.com
-TAMBIEN SE UTILIZA EN VISTAS REMOTAS O LOCALES

EJEMPLO 


requery('cursor XXXX')
aqui asigne el valor dela variable que necesita
SELECT * FROM TABLA WHERE CAMPO = ?VARIABLE INTO CURSOR XXXX

Lo que hace el sistema es preguntar por el valor de la variable y actualiza el cursor 

stallman stallman

unread,
May 3, 2011, 4:08:08 PM5/3/11
to publice...@googlegroups.com
Muy Bien señores.
 
Me queda claro.
 
Muchas gracias por la explicación.

Alan Cybar

unread,
May 4, 2011, 10:02:29 AM5/4/11
to publice...@googlegroups.com
También se usa para ver que contiene la variable.
Si en tiempo de ejecución usas ?sys(0), en la ventana principal del
VFP se "imprime" el contenido de la variable.

Puedes probar esto:

public var1
var1 = 1
set step on
do while var1 < 11
var1 = 3
?var1
var1 = var1 + 7
?var1
var1 = var1 + 1
ENDDO
release var1


Alan Sanier

Reply all
Reply to author
Forward
0 new messages