Caro Centurista,

Estou com um problema sério e não consigo eliminar aquele problema do SQLSETRESULTSET 
Este problema me persegue há bastante tempo. 
Ultimamente tinha mandado um email para este forum e não obtive muitas respostas.

Entao resolvi tentar mais uma vez e explicar melhor :


- Na minha aplicacao, mesmo com SETRESULTSET como true, o problema de SET RESULT ON
sempre ocorre em vez de quando. O momento ocorreu ao executar uma funcao do Centura
que chama  SqlGetResultSetCount ( hSql, nCount ).

Olhe a logica no meu programa para popular uma tabela:

! Popula a Tabela
If not SqlPrepareAndExecute( w_hSql_Handle, "
                
                SELECT UPPER( D.PROCESSO_DI ),
                        E.RAZAO_SOCIAL,
                        SUM( VALOR )    

                FROM    DI D,
                        IMPORTADORES E,
                        DI_TRANSPORTE T,
                        ADICOES A       
                
                INTO    :tbl_Itens.col_CodProcesso,
                        :tbl_Itens.col_Importador,
                        :tbl_Itens.col_Referencia,
                                        
                WHERE   D.COD_IMPORTADOR = E.ID_INFORMANTE      AND
                        D.PROCESSO_DI = T.PROCESSO_DI           AND
                        D.STATUS_DI = 'Registrada.'                     AND
                        D.PROCESSO_DI = A.PROCESSO_DI   (+) "
                
                 || w_ls_CondicaoStatus || w_s_Condicao || " 
                
                GROUP BY        D.PROCESSO_DI, E.RAZAO_SOCIAL, D.REF_CLIENTE, 
T.IDENTIFICACAO, E.ID_INFORMANTE, D.NUM_DI,
                                D.STATUS_DI, D.CANAL, D.REF_DESPACHANTE, 
D.DATA_DESEMBARACO
                
                "
                
                )
        Call SalMessageBox("Erro ao executar a consulta a base de dados.
                        Tente novamente, se o erro persistir contacte o administrador 
do sistema !",
                         "Atenção !", MB_IconExclamation )
Else
        !
        ! Utilizar gv_c_Login.TemDireito caso seja necessário
        !
        !
        Call SqlSetResultSet( w_hSql_Handle , TRUE ) 
        Call SqlGetResultSetCount( w_hSql_Handle, df_Itens )    ================> 
Problema está aqui.
        If df_Itens = 0
                Call SalMessageBox( 'Nenhum item foi encontrado!', 'Atenção!', MB_Ok | 
MB_IconExclamation )
                Call gf_SetPermissao_Exclui( SalParentWindow( hWndForm ), FALSE )
                Call gf_SetPermissao_Altera( SalParentWindow( hWndForm ), FALSE )
                Call gf_SetPermissao_Consulta( SalParentWindow( hWndForm ), FALSE )
                Set w_b_TableResetada = TRUE
        Else
                Set w_n_BuscaLinha = 0
                While w_n_BuscaLinha < df_Itens
                        Call SalTblInsertRow( tbl_Itens, TBL_MaxRow )
                        !
                        ! Setando os canais conforme sua sigla e colocando sua 
respectiva cor
                        !
                        !
                        Call SqlFetchNext( w_hSql_Handle, w_n_Status )
                        If w_s_Canal = 'V'
                                Set tbl_Itens.col_Canal = 'Verde'
                                Call SalTblSetCellTextColor( tbl_Itens.col_Canal, 
COLOR_Green, TRUE )
                        Else
                                If w_s_Canal = 'A'
                                        Set tbl_Itens.col_Canal = 'Amarelo'
                                        Call SalTblSetCellTextColor( 
tbl_Itens.col_Canal, COLOR_Yellow, TRUE )
                                Else
                                        If w_s_Canal = 'E'
                                                Set tbl_Itens.col_Canal = 'Vermelho'
                                                Call SalTblSetCellTextColor( 
tbl_Itens.col_Canal, COLOR_Red, TRUE )
                                        Else
                                                If w_s_Canal = 'C'
                                                        Set tbl_Itens.col_Canal = 
'Cinza'
                                                        Call SalTblSetCellTextColor( 
tbl_Itens.col_Canal, COLOR_Gray, TRUE )
                        Set w_n_BuscaLinha = w_n_BuscaLinha + 1
                Call SalTblSetFlagsAnyRows( tbl_Itens, ROW_New, FALSE, 0, 0 )
                !
                Call gf_SetPermissao_Exclui( SalParentWindow( hWndForm ), 
gv_c_Login.TemDireito( DIR_DI, OP_Exclusao ) )
                Call gf_SetPermissao_Altera( SalParentWindow( hWndForm ), 
gv_c_Login.TemDireito( DIR_DI, OP_Alteracao ))
                Call gf_SetPermissao_Consulta( SalParentWindow( hWndForm ), 
gv_c_Login.TemDireito( DIR_DI, OP_Consulta ))
                Call SalSendMsgToChildren( SalParentWindow( hWndForm ), 
PAM_HabilitaCampo, 0, 0 )
                Set w_b_TableResetada = FALSE



- Existe alguma regra especial para utilizar a funcao SQLSETRESULTSET para utilizar 
esta função ?
- Qual é a melhor solução para eliminar este problema chato ?

Se alguem estiver uma ideia, ou sugestao, será bem vindo !

Obrigado a Todos,
André Justo.

ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝLista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ

Responder a