Zapisywanie uzyskanego w grze wyniku do bazy danych

0

Cześć, mam pytanie. Piszę sobie grę i natrafiłem na pewien problem, potrzebuje zrobić połączenie z bazą danych. Mam grę i jak się zginie to wyskakuje Jdialog i tam gracz ma pokazana ile ma punktów i ma wpisać swoje imię żeby dodać się do bazy danych. Oczywiście z JTextFielda muszę pobrać imie/nick za pomocą getText() tak ? Potrzebuję pomocy właśnie z tym i bazą danych. Mam XAMPP i zrobioną tabelkę poprzez localhost/phpmyadmin, zwyczajnie ją wyklikałem. Nie wiem tylko jak teraz się do niej podłączyć, żeby to wszystko działało. Chcę to zrobić za pomocą JDBC. Chciałbym ododawać tylko graczy i zapisywać ich punkty, ew poźniej gdzieś wyświetlić ale to już później. Może ktoś już coś takiego robił, albo ma jakieś pomocne materiały.
Z góry dzięki za pomoc :)

1

Naucz się chociaż podstaw SQL. Wyklikanie bazy nie dość że dłużej zajmuje to jeszcze trzeba szukać poszczególnych opcji.
Co do Twojego pytania. Pobierasz z jakiegoś JTextField'a String, przypisujesz go do jakiejś zmiennej a potem np wywołujesz metodę z parametrem przekazując tą wartość.

Co i jak masz tutaj:
http://www.tutorialspoint.com/jdbc/jdbc-sample-code.htm
Ewentualnie tutaj:
http://www.vogella.com/tutorials/MySQLJava/article.html

Aczkolwiek wydziel poszczególne klasy bo mi się słabo robi jak taki kod widzę...

W Twoim przypadku zmieni się :

 static final String DB_URL = "jdbc:mysql://localhost/EMP";
static final String USER = "username";
static final String PASS = "password";
sql = "SELECT id, first, last, age FROM Employees";

Twoje zapytanie nie będzie Selectem tylko Insertem:
http://www.w3schools.com/sql/sql_insert.asp

I będzie chodzić...

Ps. A najlepiej to JDBC sobie odpuść i użyj JPA albo Hibernate. W ogóle praktycznie SQL nie będziesz używał.

1

Nie musisz czytać odtąd ...
Stawiając bazę na localhoście miej świadomość że ta funckjonalność będzie działała tylko u Ciebie na komputerze. Gdybyś miał publiczne ip (zależy od dostawcy neta) i udałoby Ci się postawić bazę danych otwartą na świat (w co wątpię) wtedy ta funkcjonalność działałaby także na innych komputerach - jednak w twoim przypadku łączenie jest po stronie klienta, więc gdyby ktoś sobie zdekompilował źródła to miałby dostęp do twojej bazy danych. To tak na przyszłość :).
... dotąd.

Połączenie z localhostem mysql jest dość proste, wystarczy że praktycznie przekleisz kod z pierwszego lepszego tutorialu/stacka (może być http://stackoverflow.com/questions/20250708/xampp-jdbc-drivers-do-not-load) zmieniając tylko nazwę bazy danych.
Wątpiąc w znajomość wzorców projektowych u początkujących - wrzuć ten kod do akcji przycisku wywołującą funkcjonalność dodania gracza do rankingu, napisz odpowiedniego sql i go wykonaj - jak już zacznie działać to pomyśl o wydzieleniu kodu do osobnej klasy. W razie problemów zgłoś się z kawałkiem kodu.

0

Skoro cała baza ma być na zasadzie gracz=wynik to nie lepiej jakiś prosty NoSql? Coś w tym stylu: http://www.mapdb.org/

0

A nie lepiej zwykły zapis odczyt z pliku zamiast bawić się prawdziwymi bazami danych, może się nie znam ale podajcie mi przyklad jakiejs gry offline ktora do działania wymaga mysql servera ? Nawet jeżeli piszesz gre online to nadal cała baza danych to sporo... do przetrzymywania punktów ? może jakiś zwykły xml

0

@eL dzięki za odpowiedź, skorzystam z Twoich rad i zaraz się do tego zabieram, na razie wystarczy mi JDBC a resztę ogarnę sobie poźniej( w przyszłości) ;d
@Tancered wystarczy mi na razie na localhoscie, potrzebuje mieć po prostu bazy danych bo to jedno z wymagań ;)
@MoorfoxD zapis do pliku też muszę zrobić więc pewnie też będę zadawał pytania na forum ale bazy danych także muszę mieć ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1