Snake och GOLD
Det här är en gammal laboration jag gjort i en programmeringskurs på Chalmers. Det går att spela GOLD eller Snake. Lyckas du ta alla prickar i GOLD är du riktigt duktig, eller ska jag säga tålmodig?
Jag hade tänkt skapa en highscore i min MySQL-databas för de båda spelen. Highscoren fungerar jättebra lokalt på min dator men inte när jag exporterar JAVA koden till en applet. Av säkerhetsskäl är det tydligen svårt att kommunicera mellan databas och applet. Jag har ännu inte lösningen på problemet men arbetar på den. Om någon har någon idé om hur det kan lösas får ni gärna kommentera!
Skapa koppling mellan java och databas
För att skapa en koppling mellan en databas och java behöver du importera en driver. I mitt fall är org.jdbc.mysql.Driver bäst lämpad. Drivern importeras till ditt bibliotek, i eclipse genom att använda build path och lägga till biblioteket. När detta är gjort fungerar kontakten med databasen lokalt. För att få det att fungera i en applet måste Drivern med i .jar filen som utgör appletens kodbas. Det kan göras genom olika plugin till eclipse varav Build Fat Jar är ett exempel. Här är ett exempel på kod för att koppla mySQL med JAVA:
...
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
try {
conn = DriverManager.getConnection("jdbc:mysql://mysql.din.domän.se/namn.på.din.databas, "User", "password");
Statement s = conn.createStatement();
if(gameModel.getName().equals("Snake"))
s.executeUpdate("INSERT INTO Snake_highscore (name, score) VALUES ('" + name +
"', '" + score + "')");
else
s.executeUpdate("INSERT INTO Gold_highscore (name, score) VALUES ('" + name +
"', '" + score + "')");
} catch(SQLException connectionException) {
... // här får jag ett exception!!
}
} catch (ClassNotFoundException driverException1) {
...
} catch (IllegalAccessException driverException2) {
...
}
...
Problemet som återstår att lösa är att s.executeUpdate(…) skall fungera. I nuläget får jag ett Communications link failure som jag inte vet vad som orsakar.






