Skip to main content

db_get_field

warning

Ova funkcija započinje malim slovom.

Deskripcija

Preuzmite sadržaj polja iz db_query.

ImeDeskripcija
DBResult:dbresultRezultat za dobivanje podataka.
fieldIndeks polja za dobivanje imena.
result[]Rezultat.
maxlengthMaksimalna dužina polja.

Returns

Vraća 1 ako je upravitelj skupa rezultata važeći i stupac dostupan, inače 0.

Example

// examples.inc

// ...

static FindFieldIndexByName(DBResult:dbResultSet, const fieldName[])
{
// Vrijednost varijable s povratom sa zadanom povratnom vrijednošću
new ret = -1;

// Brojanje polja
new field_count = db_num_fields(dbResultSet);

// Naziv trenutnog polja
new current_field_name[32];

// Iteracija kroz sva polja
for (new field_index; field_index < field_count; field_index++)
{
// Dobij ime polja
if (db_field_name(dbResultSet, field_index, current_field_name, sizeof current_field_name))
{
// Usporedite naziv pretraživanog polja s trenutnim nazivom polja
if (!strcmp(fieldName, current_field_name))
{
// Uspješno, pohraniti indeks polja za vraćanje varijable vrijednosti
ret = field_index;

// Zaustavljamo petlju
break;
}
}
}

// Vrati indeks pronađenog polja ili "-1"
return ret;
}

Examples_ListNames(DB:dbConnectionHandle)
{
// Skup rezultata rezultata baze podataka
new DBResult:db_result_set = db_query("SELECT `name` FROM `examples`");

// Ako je zbir rezultata rezultata baze podataka valjan
if (db_result_set)
{
// Nabavimo indeks ciljnog polja
new target_field_index = FindFieldIndexByName(db_result_set, "name");

// Provjerimo je li indeks polja valjan
if (target_field_index >= 0)
{
// Allocate some memory to store results
new result[256];

// Radi operacije
do
{
// Dodajte vrijednost iz polja "primjer" u varijablu povratne vrijednosti
db_get_field(db_result_set, target_field_index, result, sizeof result);
}

// Dok bi se mogao preuzeti sljedeći red
while (db_next_row(db_result_set));
}

// Oslobodi rezultat
db_free_result(db_result_set);
}
}
// mode.pwn

// ...

#include <examples>

static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
// ...

// Kreiramo konekciju za databazu
gDBConnectionHandle = db_open("example.db");

// Ako konekcija za databazu postoji
if (gDBConnectionHandle)
{
// Uspješno kreirana konekcija do databaze
print("Uspješno stvorena veza s bazom podataka \"example.db\".");
Examples_ListNames(gDBConnectionHandle);
}
else
{
// Neuspješno kreirana konekcija do databaze
print("Otvaranje veze s bazom podataka nije uspjelo \"example.db\".");
}

// ...

return 1;
}

public OnGameModeExit()
{
// Zatvori konekciju sa databazom ako je otvorena
if (db_close(gDBConnectionHandle))
{
// Dodatno čišćenje
gDBConnectionHandle = DB:0;
}

// ...

return 1;
}

Zabilješke

warning

Upotreba nevaljanog upravitelja databaze koja nije nula srušit će vaš server! Nabavite važeći upravitelj databazom pomoću [db_open] (db_open).

Srodne Funkcije