Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
amxbans_core
amxbans_main
atac
basebuilder
celltrie
chr_engine
cod
codmod
colorchat
credits
csdm
dHUD
diablo_nowe
entlib
expmod
expmod_achievements
expmod_mission
expmod_shop
fvault
ggpro
gunxpmod
ncodmod
netdb
orpheu
orpheu_advanced
orpheu_const
orpheu_memory
orpheu_stocks
pokemod
roulette
StripWeapons
zmvip
zombie_plague_advance
zombieplague
zombieplaguenew1.3
amxmisc
amxmodx
cellarray
chatcolor
core
datapack
file
float
hlsdk_const
lang
message_const
message_stocks
messages
newmenus
sorting
string
time
vault
vector
CSX
DoDX
Engine
ESF
Fakemeta
Fun
GeoIP
HamSandwich
JSON
NS
nVault
REAPI
hlsdk_const
reapi
reapi_engine
reapi_engine_const
reapi_gamedll
reapi_rechecker
reapi_reunion
reapi_vtc
Sockets
Sql
SQL_Connect
SQL_Execute
SQL_FieldNameToNum
SQL_FieldNumToName
SQL_FreeHandle
SQL_GetAffinity
SQL_GetInsertId
SQL_GetQueryString
SQL_IsNull
SQL_MakeDbTuple
SQL_MakeStdTuple
SQL_MoreResults
SQL_NextResultSet
SQL_NextRow
SQL_NumColumns
SQL_NumResults
SQL_PrepareQuery
SQL_QueryAndIgnore
SQL_QueryError
SQL_QuoteString
SQL_QuoteStringFmt
SQL_ReadResult
SQL_Rewind
SQL_SetAffinity
SQL_SimpleQuery
SQL_SimpleQueryFmt
SQL_ThreadQuery
sqlite_TableExists
TFCX
TSFUN
TSX
SQL_ThreadQuery
Dodane 11.09.2019 10:08 przez: Rivit#
Opis
Funkcja wykonuje asynchroniczne zapytanie do bazy danych. Główną zaletą funkcji, jest brak lagów/ścinania serwera przy słabym połączeniu z bazą danych. W momencie otrzymania wyników zostaje wywołana wybrana funkcja o specyficznej budowie.
Składnia
SQL_ThreadQuery(Handle:db_tuple, const handler[], const query[], const data[]=" ", dataSize=0)
Typ
NatywnyNotatki
Wiadomo:
db_tuple - uchwyt z danymi niezbędnymi do połączenia z bazą danych, utworzony za pomocą SQL_MakeDbTuple
handler - nazwa funkcji obsługującej wyniki z wykonanego zapytania.
query - zapytanie do bazy danej w postaci tablicy lug prostego tekstu (brak możliwości formatowania za pomocą %s %d).
data - tablica z danymi które mają być przekazane funkcji przy otrzymaniu wyniku (np. id gracza z którym zapytanie jest związane). Domyślnie pusta.
dataSize - rozmiar tablicy z danymi, domyślnie rozmiar wynosi 0.
Funkcja obsługująca wyniki ma postać:
public TwojaFunkcja(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime)
failstate - jeden z trzech możliwych wyników określające czy zapytanie sie powiodło, 0 gdy nie było problemów, -1 dla nieprawidłowego zapytania, -2 przy problemie przy połączeniu z bazą.
#define TQUERY_CONNECT_FAILED -2 #define TQUERY_QUERY_FAILED -1 #define TQUERY_SUCCESS 0
query - uchwyt z wynikami zapytania, nie należy jej uwalniać za pomocą SQL_FreeHandle.
error - w razie wystąpienia błędu, tu znajdziemy komunikat o jego naturze.
errnum - kod błędu.
data - tablica z przekazanymi danymi przy wywołaniu SQL_ThreadQuery.
size - liczba danych/elementów tablicy.
queuetime - czas w którym zostało wykonane zapytanie
Przykład
public save_xp(id) { new name[64] new q_command[512] get_user_name(id,name,63) format(q_command,511,"UPDATE `%s` SET `exp`='%i', `auto`=0 WHERE `nick`='%s' ",g_sqlTable,player_xp[id],name) SQL_ThreadQuery(g_SqlTuple,"Save_xp_handle",q_command) } public Save_xp_handle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { if(Errcode) { log_to_file("addons/amxmodx/logs/sql.log","Error on Save_xp query: %s",Error) } if(FailState == TQUERY_CONNECT_FAILED) { log_to_file("addons/amxmodx/logs/sql.log","Could not connect to SQL database.") return PLUGIN_CONTINUE } else if(FailState == TQUERY_QUERY_FAILED) { log_to_file("addons/amxmodx/logs/sql.log","Save_xp Query failed.") return PLUGIN_CONTINUE } log_to_file("addons/amxmodx/logs/sql.log","Udany zapis expa") return PLUGIN_CONTINUE }
Zakaz używania, kopiowania i innego wykorzystywania treści witryny oraz innych materiałów w niej zawartych bez zgody autorów. Wszelkie prawa zastrzeżone. © 2009-2025