Db next row PT

From SA-MP Wiki

Jump to: navigation, search

db_next_row

Image:Farm-Fresh text lowercase.png Nota: O nome desta função começa com uma letra minúscula.


Descrição:

Para para próxima linha do resultado de uma consulta feita com db_query.


Parâmetros:
(DBResult:dbresult)
DBResult:dbresultO resultado da consulta, retornada pela função db_query.


Valores de retorno:

Retorna 1 se houver sucesso, 0 se a última linha foi atingida ou se dbresult for nulo.


Image:32px-Circle-style-warning.png

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_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_int: Pega um valor inteiro de um resultado de uma consulta pelo índice do campo.
  • db_get_field_float: Pela um valor flutuante do resultado de uma consulta pelo índice do campo.
Personal tools
Navigation
Toolbox