La Web del Programador: Comunidad de Programadores
 
    Pregunta:  65349 - SQLEXEC CON OPCIÓN WHERE
Autor:  Fernando Rodríguez
Buenas amigos del foro:
Estoy desarrollando una aplicación en VFP9 con service pack 2, utilizando una Base de Datos en SQL Express 2008. El problema es que debo seleccionar de una tabla solo algunos registros. Uso las siguientes instrucciones:
xnombre="Fernando Rodríguez"
resul=SQLEXEC(cntserv, 'SELECT * FROM usuarios where nombre=xnombre', 'curus'). Lo que ocurre es que resul queda como -1 y por supuesto no crea el cursor.
Si uso en SQL SERVER la instrucción select * from usuarios where nombre='Fernando Rodríguez' me trae el registro deseado.
En síntesis el problema está cuando uso el where ya que si la instrucción es resul=SQLEXEC(cntserv, 'SELECT * FROM usuarios', 'curus') me trae todos los registros.
Donde está el problema? Acaso no se puede usar el Where?
Gracias por la ayuda

  Respuesta:  Javier Caballero
Hola Fernando,
podrias probar con

xnombre="Fernando Rodríguez"
resul=SQLEXEC(cntserv, 'SELECT * FROM usuarios where nombre=?xnombre', 'curus')

con ? envias el valor de la variable al motor de base de datos.

Saludos,

Javier
Asunción - Paraguay