Páginas filhas
  • MPSysExecScalar

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Informações sobre bind de queries

Descrição
Executa uma consulta e retorna a primeira linha no conjunto de resultados retornados pela consulta. Colunas ou linhas adicionais são ignoradas.

Aviso
titleImportante

O parâmetro aBindParam e o conceito de bind de queries só está disponível a partir da lib label 20211116



Sintaxe
MPSysExecScalar() → xResult

Parâmetros

NomeTipoDescriçãoObrigatório
cQueryCaracterQuery que será executadaX
cColumnCaracterColuna que contém o valor a ser retornadoX
aBindParamArray

Array com os campos para inserção via statement. Deve ser enviado na mesma ordem dos campos da query e todos devem ser enviados. Ele é obrigatório caso a query estava utlizando o conceito de bind (vide exemplo abaixo)




Retorno
xResult - Valor do campo buscado

Exemplo

Bloco de código
User Function TstQuery()
     Local cQuery as character
     Local nCount as numeric

     cQuery := "SELECT COUNT(R_E_C_N_O_) NREC FROM " + RetSqlName("SA1") + " WHERE D_E_L_E_T_ = ' '"
     nCount := MpSysExecScalar(cQuery,"NREC")
     Conout("Tabela possui " + cValToChar(nCount) + " registros")
Return



Bloco de código
user Function mybind()

Local cQuery        as character 
Local nVal			as numeric 
Local aBindParam    as array 

cQuery := "SELECT COUNT(*) CNT FROM SE1T10 WHERE E1_FABOV = ? AND  D_E_L_E_T_ = ?"
cQuery := ChangeQuery(cQuery)

//os parametros DEVEM ser enviados na mesma ordem em que aparecem na query.
aBindParam := {'0, ' '}

nVal := MPSysExecScalar(cQuery,'CNT',aBindParam)

Return 





Templatedocumentos


HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>