Una Segunda consultra sobre un cursor.
Publicado por es_binario (757 intervenciones) el 17/01/2013 13:06:35
Tengo una consulta, resulta que tengo un cursor que es generado por una consulta sql a mysql, bueno el caso es que después tengo que hacer una sub-consulta sobre el cursor resultante…
Y me preguntaba si no habría alguna manera de hacer la consulta o un filtrado sobre el mismo cursor sin tener que crear otro…
Consulta 1 sobre mysql
El resultado de esta consulta se guarda en este cursor.
Aquí la cuestión es. Que para facilitarle al usuario el ingreso de un nuevo color, al momento de teclearlo en el interactivechange del Textbox hago una segunda consulta pero sobre el cursor. Esto para no sobre saturar la red con cada tecleo.
Segundo cursor.
La situación aquí, es que ahora tengo un segundo cursor es decir un sub- cursor, funciona bien, pero me gustaría solo hacer una especie de filtrado sobre el cursor y un refresh a la grilla, no se si me explico y se pueda.
Gracias de Antemano.
Y me preguntaba si no habría alguna manera de hacer la consulta o un filtrado sobre el mismo cursor sin tener que crear otro…
Consulta 1 sobre mysql
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
*// cargando datos a la grilla
IF Connectar > 0
estoycon = .T.
TRY
TEXT TO sSqlcmd NOSHOW
SELECT * FROM color c order by nombrecolor;
ENDTEXT
cmd = SQLEXEC(Connectar, sSqlcmd,"cur_colores")
IF cmd > 0
WITH Thisform.grilla1
.RecordSource = "cur_colores"
.Refresh()
ENDWITH
ELSE
AERROR(laErr)
MESSAGEBOX("No se pudo conectar a mySQL. Error: " + CHR(13) + laErr[2])
ENDIF
CATCH
AERROR(laErr1)
MESSAGEBOX("Ocurrio un problema" + CHR(13) + laErr1[2])
ENDTRY
ENDIF
El resultado de esta consulta se guarda en este cursor.
1
"cur_colores"
Aquí la cuestión es. Que para facilitarle al usuario el ingreso de un nuevo color, al momento de teclearlo en el interactivechange del Textbox hago una segunda consulta pero sobre el cursor. Esto para no sobre saturar la red con cada tecleo.
1
2
3
4
5
6
7
8
9
10
11
SELECT cur_colores
IF RECCOUNT() > 0
*// realiza la consulta
LOCAL ColorBusca as String
ColorBusca = ALLTRIM(This.Value)
Thisform.grilla1.RecordSource = ""
SELECT * FROM cur_colores WHERE cur_colores.nombrecolor like "%"+ ColorBusca +"%" ;
INTO CURSOR cur_sub_colores ORDER BY cur_colores.nombrecolor ASC
Thisform.grilla1.RecordSource = "cur_sub_colores"
Thisform.grilla1.Refresh()
ENDIF
Segundo cursor.
1
cur_sub_colores
La situación aquí, es que ahora tengo un segundo cursor es decir un sub- cursor, funciona bien, pero me gustaría solo hacer una especie de filtrado sobre el cursor y un refresh a la grilla, no se si me explico y se pueda.
Gracias de Antemano.
Valora esta pregunta
0