db_query
warning
Ova funkcija započinje malim slovom.
Deskripcija
Funkcija se koristi za izvršavanje SQL upita na otvorenoj bazi podataka SQLite.
Ime | Deskripcija |
---|---|
DB:db | Upravitelj databaze do querya. |
query[] | Query za izvršavanje. |
Returns
Indeks rezultata querya (počinje sa 1) ako je uspješno, uostalom 0.
Primjeri
// entity_storage.inc
EntityStorage_SpawnAll(DB:connectionHandle)
{
// Select all entries in table "entities"
new DBResult:db_result_set = db_query(db_handle, "SELECT * FROM `entities`");
// Ako je upravitelj skupa rezultata baze podataka važeći
if (db_result_set)
{
// Radi nešto...
// Oslobodimo set rezultata
db_free_result(db_result_set);
}
}
// mode.pwn
#include <entity_storage>
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\".");
EntityStorage_SpawnAll();
}
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
Uvijek oslobađajte setove rezultata sa db_free_result!
Srodne Funkcije
- db_open: Otvori konekciju do SQLite databaze.
- db_close: Zatvori konekciju do SQLite databaze.
- db_free_result: Oslobodite memoriju rezultata iz db_query.
- db_num_rows: Dobijte broj redaka u rezultatu.
- db_next_row: Pređi na sljedeći red.
- db_num_fields: Dobij broj polja u rezultatu.
- db_field_name: Return/vraća ime polja na posebnom indexu.
- db_get_field: Preuzmite sadržaj polja iz db_query.
- db_get_field_assoc: Dobij sadržaj polja kao string s navedenim imenom polja.
- db_get_field_int: Dobijte sadržaj polja kao cijeli broj iz db_query.
- db_get_field_assoc_int: Dobijte sadržaj polja kao cijeli broj s navedenim imenom iz trenutnog reda rezultata.
- db_get_field_float: Dobijte sadržaj polja kao float broj s navedenim imenom iz trenutnog reda rezultata.
- db_get_field_assoc_float: Dobij sadržaj polja kao float broj s navedenim imenom polja.
- db_get_mem_handle: Dobij memorijski upravitelj za vezu SQLite databaze koja je otvorena s
db_open
. - db_get_result_mem_handle: Dobiva memorijski upravitelj za vezu SQLite databaze koja je dodijeljena sa s
db_query
. - db_debug_openfiles: Dobiva broj otvorenih konekcija/veza databaza u svrhu otklanjanja pogrešaka.
- db_debug_openresults: Dobiva broj rezultata otvorene databaze.