Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Dokumentacja AMX Mod X v. 11.5 Uzupełnionych funkcji: Sortowanie: Według modułów | Alfabetycznie
Szukaj funkcji:

3rdParty
Core
Cstrike
CSX
DoDX
Engine
ESF
Fakemeta
Fun
fun
GeoIP
HamSandwich
NS
nVault
Regex
Sockets
Sql
SQLx
dbi
TFCX
TSFUN
TSX
tsx

SQL_ThreadQuery

Dodane 03.05.2010 21:29 przez: Miczu
#
  


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()

Typ

Natywny

Notatki

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
}

Edytowane 22.02.2011 17:04 przez: DarkGL
  




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-2016