Pular para o conteúdo principal

DB_ExecuteQuery

Descrição

A função é usada para executar uma consulta SQL em um banco de dados SQLite aberto.

NomeDescrição
DB:dbO handle do banco de dados para consultar.
const query[]A consulta a ser executada.
OPEN_MP_TAGS:...Número indefinido de argumentos de qualquer tag.

Retorno

O índice do resultado da consulta (começando em 1) se bem-sucedida, caso contrário 0.

Exemplos

// entity_storage.inc

EntityStorage_SpawnAll(DB:connectionHandle)
{
// Seleciona todas as entradas na tabela "entities"
new DBResult:db_result_set = DB_ExecuteQuery(connectionHandle, "SELECT * FROM `entities`");

// Se o handle do conjunto de resultados do banco de dados é válido
if (db_result_set)
{
// Faz alguma coisa...

// Libera o conjunto de resultados
DB_FreeResultSet(db_result_set);
}
}
// mode.pwn

#include <entity_storage>

static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
// ...

// Cria uma conexão com um banco de dados
gDBConnectionHandle = DB_Open("example.db");

// Se a conexão com o banco de dados existe
if (gDBConnectionHandle)
{
// Criou com sucesso uma conexão com o banco de dados
print("Criou com sucesso uma conexão com o banco de dados \"example.db\".");
EntityStorage_SpawnAll(gDBConnectionHandle);
}
else
{
// Falhou ao criar uma conexão com o banco de dados
print("Falhou ao abrir uma conexão com o banco de dados \"example.db\".");
}

// ...

return 1;
}

public OnGameModeExit()
{
// Fecha a conexão com o banco de dados se a conexão estiver aberta
if (DB_Close(gDBConnectionHandle))
{
// Limpeza extra
gDBConnectionHandle = DB:0;
}

// ...

return 1;
}

Notas

atenção

Sempre libere os resultados usando DB_FreeResultSet!

Funções Relacionadas

  • DB_Open: Abre uma conexão com um banco de dados SQLite
  • DB_Close: Fecha a conexão com um banco de dados SQLite
  • DB_ExecuteQuery: Consulta um banco de dados SQLite
  • DB_FreeResultSet: Libera a memória do resultado de uma DB_ExecuteQuery
  • DB_GetRowCount: Obtém o número de linhas em um resultado
  • DB_SelectNextRow: Move para a próxima linha
  • DB_GetFieldCount: Obtém o número de campos em um resultado
  • DB_GetFieldName: Retorna o nome de um campo em um índice específico
  • DB_GetFieldString: Obtém o conteúdo do campo com ID especificado da linha de resultado atual
  • DB_GetFieldStringByName: Obtém o conteúdo do campo com nome especificado da linha de resultado atual
  • DB_GetFieldInt: Obtém o conteúdo do campo como um inteiro com ID especificado da linha de resultado atual
  • DB_GetFieldIntByName: Obtém o conteúdo do campo como um inteiro com nome especificado da linha de resultado atual
  • DB_GetFieldFloat: Obtém o conteúdo do campo como um float com ID especificado da linha de resultado atual
  • DB_GetFieldFloatByName: Obtém o conteúdo do campo como um float com nome especificado da linha de resultado atual
  • DB_GetMemHandle: Obtém o handle de memória para um banco de dados SQLite que foi aberto com db_open.
  • DB_GetLegacyDBResult: Obtém o handle de memória para uma consulta SQLite que foi executada com DB_ExecuteQuery.
  • DB_GetDatabaseConnectionCount: A função obtém o número de conexões de banco de dados abertas para fins de depuração.
  • DB_GetDatabaseResultSetCount: A função obtém o número de resultados de banco de dados abertos.