---
title: "db_num_fields | open.mp"
description: "Obtém o número de campos do conjunto de resultados obtido com `db_query`."
canonical: https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_num_fields
language: pt-BR
---

# db\_num\_fields

## descrição

A função retorna o número de campos (colunas) do resultado obtido com [db\_query](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_query).

| Nome | Descrição |
| --- | --- |
| DBResult:dbresult | Resultado retornado por [db\_query](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_query). |

## retorno

Número de campos no resultado.

## exemplo

```c
// examples.inc

static FindFieldIndexByName(DBResult:dbResultSet, const fieldName[])
{
    new ret = -1;
    new field_count = db_num_fields(dbResultSet);
    new current_field_name[32];

    for (new field_index = 0; field_index < field_count; field_index++)
    {
        if (db_field_name(dbResultSet, field_index, current_field_name, sizeof current_field_name))
        {
            if (!strcmp(fieldName, current_field_name))
            {
                ret = field_index;
                break;
            }
        }
    }

    return ret;
}

Float:Examples_CalculateSum(DB:dbConnectionHandle)
{
    new Float:ret;
    new DBResult:db_result_set = db_query("SELECT `value` FROM `examples`");

    if (db_result_set)
    {
        new target_field_index = FindFieldIndexByName(db_result_set, "value");

        if (target_field_index >= 0)
        {
            do
            {
                ret += db_get_field_float(db_result_set, target_field_index);
            }
            while (db_next_row(db_result_set));
        }

        db_free_result(db_result_set);
    }

    return ret;
}
```

```c
// mode.pwn

#include <examples>

static DB:gDBConnectionHandle;

public OnGameModeInit()
{
    gDBConnectionHandle = db_open("example.db");

    if (gDBConnectionHandle)
    {
        print("Conexão com banco \"example.db\" criada com sucesso.");
        printf("Soma calculada: %f", Examples_CalculateSum(gDBConnectionHandle));
    }
    else
    {
        print("Falha ao abrir conexão com banco \"example.db\".");
    }

    return 1;
}

public OnGameModeExit()
{
    if (db_close(gDBConnectionHandle))
    {
        gDBConnectionHandle = DB:0;
    }
    return 1;
}
```

## notas

aviso

Usando um identificador inválido seu servidor irá crashar! Pegue um identificador válido usando [db\_query](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_query). Mas é protegido contra referências nulas.

## funções relacionadas

-   [db\_open](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_open): Abrir conexão com banco SQLite
-   [db\_close](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_close): Fechar conexão com banco SQLite
-   [db\_query](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_query): Executar consulta
-   [db\_free\_result](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_free_result): Liberar resultado
-   [db\_num\_rows](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_num_rows): Número de linhas no resultado
-   [db\_next\_row](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_next_row): Avançar para próxima linha
-   [db\_field\_name](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_field_name): Nome do campo por índice
-   [db\_get\_field](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_get_field): Conteúdo do campo por índice
-   [db\_get\_field\_assoc](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_get_field_assoc): Conteúdo do campo por nome
-   [db\_get\_field\_int](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_get_field_int): Conteúdo do campo inteiro por índice
-   [db\_get\_field\_assoc\_int](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_get_field_assoc_int): Conteúdo do campo inteiro por nome
-   [db\_get\_field\_float](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_get_field_float): Conteúdo do campo float por índice
-   [db\_get\_field\_assoc\_float](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_get_field_assoc_float): Conteúdo do campo float por nome
-   [db\_get\_mem\_handle](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_get_mem_handle): Handle de memória do banco
-   [db\_get\_result\_mem\_handle](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_get_result_mem_handle): Handle de memória do resultado
-   [db\_debug\_openfiles](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_debug_openfiles): Número de conexões abertas
-   [db\_debug\_openresults](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/db_debug_openresults): Número de resultados abertos
