Db get field assoc PT
From SA-MP Wiki
db_get_field_assoc
Nota: O nome desta função começa com uma letra minúscula. |
Descrição:
Pega um valor da consulta pelo nome do campo.
(DBResult:dbresult, const field[], result[], maxlength)
DBResult:dbresult | O resultado da consulta, retornado pela função db_query |
field[] | O nome do campo para pegar o valor. |
result[] | O vetor para armazenar o valor do campo. |
maxlength | O tamanho máximo do vetor. |
Valores de retorno:
Retorna 1 se houver sucesso, 0 se dbresult não for válido ou se o campo não existir.
Aviso | Usando um identificador inválido seu servidor irá crashar! Pegue um identificador válido usando db_query. Mas é protegido contra referências nulas. |
Exemplo de uso:
new DB:db; public OnGameModeInit(){ if((db = db_open("exemplo.db")) == DB:0){ print("Falha o se conectar ao banco de dados 'exemplo.db'"); SendRconCommand("exit"); return 1; } db_free_result(db_query(db, "create table if not exists usuarios (id integer not null primary key autoincrement,\ nome varchar(24) not null, admin integer default(0))")); return 1; } public OnGameModeExit(){ db_close(db); return 1; } public OnPlayerCommandText(playerid, cmdtext[]){ if(!strcmp(cmdtext, "/veradmins", false)){ new DBResult: result = db_query(db, "select * from usuarios where admin > 0"); if(db_num_rows(db) > 0){ new nome[MAX_PLAYER_NAME], string[46]; SendClientMessage(playerid, -1, "Admins:"); do{ db_get_field_assoc(result, "nome", nome, sizeof(nome)); format(string, sizeof string, "%s - Level: %d", nome, db_get_field_assoc_int(result, "admin")); SendClientMessage(playerid, -1, string); } while(db_next_row(result)); } else{ SendClientMessage(playerid, -1, "Não há admins!"); } db_free_result(db); return 1; } return 0; }
Funções Relacionadas
As seguintes funções podem ser úteis, pois estão de alguma forma, relacionadas a esta função.
- db_open: Abre conexão com o banco de dados SQLite.
- db_close: Finaliza a conexão com o banco de dados SQLite.
- db_query: Envia uma consulta para o banco de dados SQLite.
- db_free_result: Libera o resultado da consulta, gerado pela função db_query
- db_num_rows: Pega um número de linhas de um resultado de uma consulta.
- db_next_row: Passa para a próxima linha de um resultado de uma consulta.
- db_num_fields: Pega o número de campos de um resultado de uma consulta.
- db_field_name: Pega o nome de um determinado campo pelo resultado da consulta.
- db_get_field: Pega o valor de um campo pelo índice do campo.
- db_get_field_assoc: Pega o valor do resultado de uma consulta pelo nome do campo.
- db_get_field_int: Pega um valor inteiro de um resultado de uma consulta pelo índice do campo.
- db_get_field_assoc_int: Pega um valor inteiro de um resultado de uma consulta pelo nome do campo.
- db_get_field_float: Pela um valor flutuante do resultado de uma consulta pelo índice do campo.
- db_get_field_assoc_float: Pega um valor flutuante do resultado de uma consulta pelo nome do campo.
- db_get_mem_handle: Pegar um identificador de memória para um banco de dados SQLite que foi aberto com db_open.
- db_get_result_mem_handle: Pegar um identificador de memória para uma consulta SQLite que foi executada com db_query.
- db_desbug_openfiles Pega o número de conexões abertas com a função db_open.
- db_desbug_openresults Pega o número de resultados abertos com a função db_query.