Pular para o conteúdo principal

DB_GetFieldString

Descrição

Obtém o conteúdo de um campo a partir do resultado de DB_ExecuteQuery.

NomeDescrição
DBResult:resultResultado de onde obter os dados.
fieldÍndice do campo para obter os dados.
output[]Variável para armazenar o resultado.
size = sizeof(output)Tamanho máximo do campo.

Retorno

Retorna true se o handle do resultado for válido e a coluna existir, caso contrário false.

Exemplo

// examples.inc

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

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

Examples_ListNames(DB:dbConnectionHandle)
{
new DBResult:db_result_set = DB_ExecuteQuery(dbConnectionHandle, "SELECT `name` FROM `examples`");

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

if (target_field_index >= 0)
{
new result[256];

do
{
DB_GetFieldString(db_result_set, target_field_index, result, sizeof result);
// Aqui pode usar "result"
}
while (DB_SelectNextRow(db_result_set));
}

DB_FreeResultSet(db_result_set);
}
}
// mode.pwn

#include <examples>

static DB:gDBConnectionHandle;

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

if (gDBConnectionHandle)
{
print("Conexão com o banco \"example.db\" criada com sucesso.");
Examples_ListNames(gDBConnectionHandle);
}
else
{
print("Falha ao abrir conexão com o banco \"example.db\".");
}

return 1;
}

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

Notas

Funções Relacionadas