←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Zapis sql

  • +
  • -
kijkol's Photo kijkol 30.04.2013

Witam.

Otóż mam pytanie jak zrobić prosty zapis sql ?

Zapis ma polegać na tym, że sprawdza nick gracza czy jest w bazie, ale jak nie ma to pokazuje komunikat, a jak jest to dodaje moją zmienną.

Nie mogłem znaleźć takich prostych zapisów sql.

Chodzi mi o sam zapis z resztą sobię poradzę.

Quote

  • +
  • -
kijkol's Photo kijkol 30.04.2013

Zrobiłem coś takiego - Attached File  cos.sma   4.62KB   81 downloads
Ale nie mam pojęcia czy dobrze myślę ;]

Nie mogłem edytować posta ;[
Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 03.05.2013

Jeśli nakreślisz do czego ma służyć takowy zapis, to łatwiej będzie coś ogarnąć. Rzadko wymaga się przy zapisywaniu czegoś wyświetlenia komunikatu, częściej się po prostu dodaje (np rekord z expem gracza, czy coś).

 

http://amxx.pl/topic...in-baza-danych/

Obejrzyj mój poradnik o SQL, może coś Cię tam natchnie, jeśli nie znajdziesz tam odpowiedzi, napisz co dokładnie chcesz uzyskać, może nawet rozszerzę poradnik o to ;)

Quote

  • +
  • -
kijkol's Photo kijkol 04.05.2013

Ja chciałbym, aby plugin za zabicie dawał 1 pkt, a potem ten pkt zapisywał do bazy sql, która jest zrobiona są w nim użytkownicy co mają nickcs/nick/mail/hasło/pkt itp.

Jeśli nie ma takiego nicku w bazie wyświetlił by napis w say" Nie masz konta na amxx.pl. Załóż je!"

Stronę jak i bazę zrobiłem, ale do pluginu tego jeszcze nie zrozumiałem, ale pomalu może się uda.

Dzięki za poradnik trochę się przydał.

Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 05.05.2013

Można to zrobić na 2 sposoby co najmniej. Jednym z nich jest umieszczenie SELECT i UPDATE w jednym zapytaniu, oddzielone średnikiem. AMX odczyta tylko rezultat pierwszego (w ThreadQuery tak jest, w trybie "liniowym" można przełączyć na następny result set) więc SELECT musi być przed UPDATE. Drugim sposobem jest wrzucenie tylko UPDATE i w handle badanie co zwróci SQL_AffectedRows. Jeśli zwraca 0, oznacza to że nic nie zostało zaktualizowane, czyli brak jest rekordów odpowiadających podanemu zapytaniu. Czyli konta brak. Są to oczywiście rozwiązania do upchnięcia w jednym zapytaniu :)

Quote

  • +
  • -
kijkol's Photo kijkol 08.05.2013

Tak dla Ciebie w jednym zapytanie, a dla mnie w kilkunastu linijkach kodu ;]
Dzięki za rady jak będę miał więcej czasu to pokombinuje.
Quote