Skocz do zawartości

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
 

Zdjęcie

SQL Update


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Pittero

    Wszechwiedzący

  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:545
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 18.01.2011 22:26

Witam, moglby ktos mi podac przykladowy fragment kodu ktory bedzie zmienial w tabeli w polu np dane wartosc ??
Bo nie wiem jak dziala SQL i zapytanie typu UPDATE.
  • +
  • -
  • 0

#2 byCZUS

    Listonosz

  • Support Team

Reputacja: 752
Guru

  • Postów:459
  • GG:
  • Steam:steam
  • Lokalizacja:GW
Offline

Napisano 18.01.2011 22:30

Coś takiego.

robisz zmienną globalną np.
new Handle: g_SqlTuple
i

public funkcja_update()
{
new cache[512];
format(cache, 511, "UPDATE TABELA SET kolumna=^"%s^", klumna=%d WHERE fafasf=10", jakas_zmienna, jakias_zmienna2);

SQL_ThreadQuery(g_SqlTuple, "QueryHandle", cache);
}


public QueryHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(FailState)
{
if(FailState == TQUERY_CONNECT_FAILED)
log_amx("Save - Could not connect to SQL database. [%d] %s", Errcode, Error);
else if(FailState == TQUERY_QUERY_FAILED)
log_amx("Save Query failed. [%d] %s", Errcode, Error);
return 0;
}

return PLUGIN_CONTINUE
}

Użytkownik byQQ edytował ten post 18.01.2011 22:32

  • +
  • -
  • 2

Dziękuje, dobranoc.


#3 AmD

    aemde

  • Użytkownik

Reputacja: 71
Pomocny

  • Postów:500
  • Steam:steam
  • Imię:Dariusz
  • Lokalizacja:Częstochowa
Offline

Napisano 18.01.2011 23:41

chyba źle...



public update(id)
{
new cache[1024],pos

pos = formatex(cache, 1023, "UPDATE `tabela` SET kolumna1 = '%d', kolumna2 = '%d' WHERE nazwa = '%s'", tablica1[id], tablica2[id], nazwa[id]);
SQL_ThreadQuery(g_SqlTuple, "handle_update", cache);

return PLUGIN_HANDLED;
}
public handle_update(FailState,Handle:Query,Error[],Errcode,Data[],DataSize){
if(FailState){
log_amx("SQL Error: %s (%d)", Error, Errcode);
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}


g_SqlTuple == SQL_MakeDbTuple
to kawałek kodu z mojego zapisu, działa...

Użytkownik AmD edytował ten post 18.01.2011 23:42

  • +
  • -
  • 0

#4 byCZUS

    Listonosz

  • Support Team

Reputacja: 752
Guru

  • Postów:459
  • GG:
  • Steam:steam
  • Lokalizacja:GW
Offline

Napisano 19.01.2011 15:59

Amd skąd wiesz że źle ? Wiesz dane można wprowadzać do bazy nie używając zmiennej z id. =] np wprowadzenie mapy itp, mój zapis jest też dobry.
  • +
  • -
  • 2

Dziękuje, dobranoc.


#5 AmD

    aemde

  • Użytkownik

Reputacja: 71
Pomocny

  • Postów:500
  • Steam:steam
  • Imię:Dariusz
  • Lokalizacja:Częstochowa
Offline

Napisano 19.01.2011 16:12

nie o to mi chodziło... bardziej o to: ^"%s^ jak zauważyłem wszędzie korzystają z ' ' / ``

ale ok, koniec spamu autor tematu niech powie które działa ;d

Użytkownik AmD edytował ten post 19.01.2011 16:13

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych