Power Builder - ayuda por favor!!! - problemas con cursores

 
Vista:

ayuda por favor!!! - problemas con cursores

Publicado por martin (97 intervenciones) el 17/09/2003 16:16:18
Como hago para colocar la variable string ls_clasificacion dentro de la sentencia sql en el cursor, bueno esta cadena contiene campos con condiciones por ejemplo : ((clasificacion >= "I001" and clasificacion <= "I010") or clasificacion = "0005")string ls_clasificacionls_clasificacion = f_reemplazar_cadenas(ist_par.parstring3, 'clasificacion_3','clasificacion')DECLARE cursor_clasificacion_1 CURSOR FORSELECT CLASIFICACION, DESCRIPCION FROM CLASIFICACION WHERE ls_clasificacion ORDER BY 2;OPEN cursor_clasificacion_1;FETCH cursor_clasificacion_1 INTO :ls_cod_clasificacion, :ls_des_clasificacion;DO UNTIL sqlca.sqlcode = 100 ddlb_clasificacion.AddItem(UPPER(ls_des_clasificacion Space(100) ls_cod_clasificacion))FETCH cursor_clasificacion_1 INTO :ls_cod_clasificacion, :ls_des_clasificacion;LOOPCLOSE cursor_clasificacion_1;sale el siguiente error:"incorrecta sintaxis cerca de la palabra order"muchas gracias
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

RE:ayuda por favor!!! - problemas con cursores

Publicado por SALVADOR ALANIS (56 intervenciones) el 17/09/2003 20:15:51
DECLARE cursor_clasificacion_1 CURSOR FOR SELECT CLASIFICACION, DESCRIPCION FROM CLASIFICACION WHERE ls_clasificacion ORDER BY CLASIFICACION;

SALU2!
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

RE:ayuda por favor!!! - problemas con cursores

Publicado por SALVADOR ALANIS (56 intervenciones) el 17/09/2003 20:21:44
DECLARE cursor_clasificacion_1 CURSOR FOR
SELECT CLASIFICACION, DESCRIPCION FROM CLASIFICACION WHERE CLASIFICACION = CONDICION ORDER BY CLASIFICACION;

CHECA LA CLAUSULA WHERE

SALU2!
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

gracias salvador y a miki

Publicado por martin (97 intervenciones) el 17/09/2003 21:52:20
Muhas gracias por sus sugerencias

Bueno el problema es que la variable ls_clasificacion, ya contiene el nombre de campos y valores, explico:

select campo1
into :ls_clasificacion
from tabla_x
where campo2 = :ls_articulo;

//campo1 contiene por ejemplo lo siguente 'clasificacion IN ("I0001","I0006")''

ENTONCES QUIERO VER LA FORMA DE COLOCAR ESTA CADENA EN:

DECLARE cursor_clasificacion_1 CURSOR FOR
SELECT CLASIFICACION, DESCRIPCION FROM tabla2 WHERE ls_clasificacion ORDER BY CLASIFICACION;

pero sale error de database sql cerca de la palabra Order..

muhcas gracias
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

RE:gracias salvador y a miki

Publicado por salvador alanis (56 intervenciones) el 17/09/2003 22:27:59
PRUEBA CON ESTO

DECLARE cursor_clasificacion_1 CURSOR FOR
SELECT CLASIFICACION, DESCRIPCION FROM tabla2 WHERE CLASIFICACION IN :ls_clasificacion ORDER BY CLASIFICACION;

SALU2!
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

RE:gracias salvador y a miki

Publicado por Oscar SS (54 intervenciones) el 19/09/2003 01:24:30
si has escrito igual como lo pusiste:
DECLARE cursor_clasificacion_1 CURSOR FOR
SELECT CLASIFICACION, DESCRIPCION
FROM tabla2
WHERE ls_clasificacion
ORDER BY CLASIFICACION;
claro que te va a trona, en where la sintaxis esta incorrecta, solo pones la variable mas no dices con que campo vas a compararlo where debe llevar un campo para hacer la comparación por ejemplo:
FROM tabla2
WHERE CAMPOX = :ls_clasificacion //debes hacer la comparación
//con algun campo
ORDER BY CLASIFICACION;
asi no debe marcarte error, almenos que estes escribiendo mal el nombre del campo, espero te funcione.
Saludos!
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

RE:gracias salvador y a miki

Publicado por martin (97 intervenciones) el 19/09/2003 19:34:52
Gracias Oscar SS,
si entiendo tu recomendacion pero en al sintaxis:
FROM tabla2
WHERE CAMPOX = :ls_clasificacion //debes hacer la comparación
no puedo colocar CAMPOX, puesto que la variable ls_clasificacion ya contiene el nombre del campo y sus valores que contienen.
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