FoxPro/Visual FoxPro - Problemas al consultar vistas

   
Vista:

Problemas al consultar vistas

Publicado por Juan Carlos (16 intervenciones) el 23/12/2014 23:29:40
Hola nuevamente camaradas, ahora les vengo a presentar un problema que me aparece cuando creo una vista.

En una funcion que recibe los parametros necesarios armo la cadena y pues ya armada queda mas o menos asi:

1
2
3
"CREATE SQL VIEW vtsClientes CONNECTION OBDC AS SELECT ";
		+ "idclie, status, nombre, dias_cre, venta, lim_cred, ";
		+ "saldo, vend FROM CLIENTE01 WHERE idclie = "+idClie

esa cadena la guardo en una variable y la regreso en el return de la funcion.

Ya de regreso, la quice ejecutar con EVALUATE(strVista) y me decia error de sintaxis, como no encontre cual era el error, decidi hacer &strVista y ya con eso si me creo las vista.

pero al querer leer datos de esta de la siguiente manera

1
2
SELECT 0
	SELECT vtsClientes.vend AS vende FROM vtsClientes INTO CURSOR prueba

Me dice que faltan parametros y ahi topo no se que falta, he buscado en google, pero no me ha quedado claro.

De antemano gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problemas al consultar vistas

Publicado por Saul (676 intervenciones) el 24/12/2014 04:06:47
Juan Carlos..

a) Que Motor de Base de Datos estas usando
b) Se supone que la Vistas las haces en tu Base de Datos (Mysql, SQL SERVER) y luego
Las consultas desde Visual Fox

c) Prueba con este ejemplo y me cuentas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
SERVERMYSQL	= "127.0.01"
	USUARIO 	= "root"
	CLAVE   	= "sa"
	BD 			= "TuBase"
 
	lcStringCnxLocal = "DRIVER={MySQL ODBC 3.51 Driver};" + ;
	                   "SERVER="+SERVERMYSQL+";" + ;
	                   "UID="+USUARIO+";" + ;
	                   "PWD="+CLAVE+";" + ;
	                   "DATABASE="+BD+";" + ;
	                   "OPTIONS='';"
 
 
	SQLSETPROP(0,"DispLogin" , 3 )
 
	CnxSde = SQLSTRINGCONNECT(lcStringCnxLocal)
 
IF CnxSde < 0
	 AERROR(laErr)
 	 MESSAGEBOX("No se pudo conectar a mySQL. Error: " + CHR(13) + laErr[2])
 
 	 CLEAR ALL
 	 CLOSE ALL
 	 CANCEL
 	 QUIT
ENDIF
 
 
idCliente = '001'
 
	TEXT TO lcSQLcommand NOSHOW
		SELECT  idclie,
			    status,
			    nombre,
			    dias_cre,
			    venta,
			    lim_cred,
			    saldo,
			    vend
		FROM CLIENTE01 WHERE idclie = ?idClinte
    ENDTEXT
 
	cmd = SQLEXEC(CnxSde,lcSQLcommand,'vtsClientes')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas al consultar vistas

Publicado por Juan Carlos (16 intervenciones) el 27/12/2014 17:07:57
El motor de base de datos que uso es paradox.

y ya vi cual era el error

Este era el codigo que puse
1
2
3
"CREATE SQL VIEW vtsClientes CONNECTION OBDC AS SELECT ";
+ "idclie, status, nombre, dias_cre, venta, lim_cred, ";
+ "saldo, vend FROM CLIENTE01 WHERE idclie = "+idClie

Este es el codigo que me funciono
1
2
3
"CREATE SQL VIEW vtsClientes CONNECTION OBDC AS SELECT ";
+ "idclie, status, nombre, dias_cre, venta, lim_cred, ";
+ "saldo, vend FROM CLIENTE01 WHERE idclie = '"+idClie+"'"

solo era que no habia puesto las comillas simples al campo del idcliente.

Gracias por tu ayuda Saul
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar