//REGENERA LA SIGUIENTE FUNCIÓN
global type f_llenar_sql from function_object
end type
forward prototypes
global subroutine f_llenar_sql (string sqlsentencia, any objeto, integer picture)
end prototypes
global subroutine f_llenar_sql (string sqlsentencia, any objeto, integer picture);
STRING ls_valor
GRAPHICOBJECT ObjetoLocal
ObjetoLocal = Objeto
SetPointer ( HourGlass! )
/* Prepara el Descriptor */
PREPARE SQLSA FROM :SQLSentencia;
DESCRIBE SQLSA INTO SQLDA;
/* Declara el cursor dinámico */
DECLARE cDynCursor DYNAMIC CURSOR FOR SQLSA;
/* Abre el cursor Dinámico */
OPEN DYNAMIC cDynCursor USING DESCRIPTOR SQLDA;
IF ( SQLCA.SQLCode = -1 ) THEN /* Error ? */
GOTO ERROR_SQL
END IF
/* Obtiene el primer registro del cursor dinamico */
FETCH cDynCursor USING DESCRIPTOR SQLDA;
IF ( SQLCA.SQLCode = -1 ) THEN /* Error ? */
GOTO ERROR_SQL
END IF
DO WHILE SQLCA.SQLCODE = 0
/* Determina el numero de columnas solicitadas */
CHOOSE CASE SQLDA.NumOutPuts
CASE 1
/* Obtiene un solo valor de la primer columna */
ls_valor = GetDynamicString( SQLDA, 1 )
CASE 2
/* Concatena las 2 columnas solicitadas. Por ejemplo, el identificador del registro ( primary key ) y su descripcion */
ls_valor = GetDynamicString( SQLDA, 1 )+' '+GetDynamicString( SQLDA, 2 )
END CHOOSE
/* Verifica si se va a insertar un Picture
NOTA : Sin Picture = 0. Esto es para controles que no aceptan el ico como argumento en Additem */
IF Picture = 0 THEN ObjetoLocal. DYNAMIC Additem( ls_valor ) ELSE ObjetoLocal. DYNAMIC Additem( ls_valor, Picture )
/* Siguiente registro del cursor dinamico */
FETCH cDynCursor USING DESCRIPTOR SQLDA;
LOOP
CLOSE cDynCursor;
SetPointer ( Arrow! )
RETURN
ERROR_SQL:
MESSAGEBOX("f_llenar_sql () - Error", SQLCA.SQLErrtext, StopSign! )
ROLLBACK USING SQLCA;
HALT CLOSE
end subroutine
//---------------------FIN DE LA FUNCION
/*AHORA EN EL EVENTO OPEN DE TU VENTANA LLAMA A LA FUNCION DE ESTE MODO:*/
//Ejemplo:
f_llenar_sql( "SELECT Nombre FROM SUCURSALES", ddplb_1, ddplb_1.addpicture( "..\Covet\Image\ir.GIF") )
/*seleciona nombres de las sucursales y los agregar a tu ddplb y luego coloca la imagen mediante addpicture... y finalmente escribes las ruta donde se encuentra tu imagen en este caso un gif*/
//Prueben