Dudas sobre el uso de data windows y cursores para mostrar los resultado de una consulta sql

Amigo quiero hacer una consulta mediante sql y luego mostrar los datos en una datawindows cual seria la sintaxis para hacer eso
¿Con respecto a los cursores para que los puedo usar con las dw externas?
Me puedes mandar la sintaxis de un cursor

1 respuesta

Respuesta
1
Para hacer una consulta con SQL, sólo tienes que hacer una datawindow de tipo SQL Select. Con ella se construye la sentencia SQL y con los campos que has indicado se construye la datawindow.
Los cursores en power no se suelen usar, ya que todo o casi todo que tiene acceso a la base de datos se hace con datawindows. Tienes que tener en cuenta que el SQL embebido (sentencias SQL dentro de un script de power) es muy lento. Para ello es mejor usar datawindow. De todas formas, la sintaxias de un cursor es:
DECLARE nombre_cursor CURSOR FOR
SELECT CAMPO
FROM TABLA ;
Con esto te declaras el cursor. Para recorrerlo:
FETCH nombre_cursor
INTO :variable_campo ;
El Fecth lo debes meter en un bucle for, que irá desde 1 hasta el Count(*) del select que has declarado en el cursor, y en cada vuelta del bucle se carga el valor correspondiente en la variable_campo. Debes tener tantas variables como campos indicados en el select y sus tipos (String, Long, Double ...) deben coincidir.
Recuerda que después de declarar el cursor tienes que abrirlo:
OPEN nombre_cursor;
Y después de haberlo procesado tienes que cerrarlo:
CLOSE nombre_cursor;
Hice la datawindows ya esta creada pero por ejemplo
Tengo una datawindows socios, y quiero refrescarla pero con otros datos por
Como podría ser con una sentencia sql
Cual seria su sintaxis
Cuando te refieres a que quieres refrescar esa datawindow con otros datos, ¿quieres decir que quieres aplicar filtro (otras condiciones de búsqueda) a los registros recuperados?. Si es así, en el script de la ventana que contiene a la datawindow tienes que poner el filtro que te interese.
Por ejemplo, tiene en tu datawindow de socios dos campos, cod_socio y nombre_socio, en un principio recuperas todos los socios en tu datawindow ( tienes la sentencia SQL asociada y simplemente haces datawindow. Retrieve() ) y ahora quieres recuperar los socios cuyo nombre sea Pablo, tendrías que hacer lo siguiente:
datawindow.SetFilter("nombre_socio = 'Pablo'")
Datawindow. Filter()
Y con esto en tu datawindow sólo aparecerán los registros cuyo nombre sea Pablo. Si quieres deshacer este filtro y volver a mostrar todos los socios:
Datawindow. SetFilter("")
Datawindow. Filter()
Espero que sea esto lo que querías, si no es así indícamelo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas