/*Importieren von den nötigen Java Klassen*/
import java.sql.*;
public class Datenbank {
/*Festlegung von der URL, der User-ID und dem Passwort für die Verbindung*/
private static final String url ="jdbc:odbc:team42";
private static final String Benutzer = "";
private static final String Passwort = "";
//Datenbank Variablen für die Verbindung, den auszuführenden Befehl und Resultat
private static Connection conn = null;
private static Statement Befehl = null;
private static ResultSet Resultat = null;
//weitere Variablen
public int Zeilen;
public int Spalten;
public int SpielNr;
public String[][] Inhalt = new String[3][100];
public String[][] Zuegearray = new String[3][100];
public String Temp;
private ResultSetMetaData metaData;
/*Laden des JDBC Treibers und Verbindungsaufbau mit der Datenbank*/
public static void makeConnection() throws SQLException, ClassNotFoundException {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(url, Benutzer, Passwort);
}
/*Beenden der Verbindung*/
public static void closeConnection() throws SQLException{
conn.close();
conn = null;
}
public static void closeStatement()throws SQLException{
Befehl.close();
Befehl=null;
}
/*Übergabe der Spieleliste*/
public String[][] getSpiele(){
try {
makeConnection();
Befehl = conn.createStatement();
Resultat = Befehl.executeQuery("SELECT SpielNr, Spieler1, Spieler2, Sieger FROM Spiele;");
//holt die Metadata-Informationen aus dem Resultset
metaData = Resultat.getMetaData();
Spalten = metaData.getColumnCount();
//trägt die Ergebnisse vom Resultat in ein Array
int Zeile = 0;
while (Resultat.next())
{
for (int Spalte = 0; Spalte < Spalten; Spalte++)
{
Inhalt[Spalte][Zeile] = Resultat.getString(Zeile + 1);
}
Zeile = Zeile + 1;
}
Zeilen = Zeile;
closeConnection();
closeStatement();
return Inhalt;
}
catch (Exception e) {
System.err.println("Fehler beim Aufruf der Spieleliste!");
}
}
/*Übergabe der Zugliste*/
public String[][] getZuege(String SpielNr){
try {
makeConnection();
Befehl = conn.createStatement();
Resultat = Befehl.executeQuery("SELECT Spieler, Zug FROM Zugliste WHERE SpielNr =" + SpielNr + ";");
//holt die Metadata-Informationen aus dem Resultset
metaData = Resultat.getMetaData();
Spalten = metaData.getColumnCount();
//trägt die Ergebnisse vom Resultat in ein Array
int Zeile = 0;
while (Resultat.next())
{
for (int Spalte = 0; Spalte < Spalten; Spalte++)
{
Zuegearray[Spalte][Zeile] = Resultat.getString(Zeile + 1);
}
Zeile = Zeile + 1;
}
Zeilen = Zeile;
closeConnection();
closeStatement();
return Zuegearray[][];
}
catch (Exception e) {
System.err.println("Fehler beim Aufruf der Züge!");
}
}
public void setSpielStart(String Spieler1, String Spieler2){
try{
makeConnection();
Befehl = conn.createStatement();
Resultat = Befehl.executeQuery("SELECT SpielNr FROM Spiele WHERE MAX(SpielNr);");
//if(Resultat == null)SpielNr=1 ;
//else SpielNr=Resultat.getInt(1);
Befehl.executeUpdate("INSERT INTO Spiele(Spieler1, Spieler2) VALUES ('" + Spieler1 + "', '" + Spieler2 + "');");
closeConnection();
closeStatement();
}
catch (Exception e) {
System.err.println("Fehler beim speichern des Spielstartes!");}
}
public void setZug(String Spieler, String Zug){
try{
makeConnection();
Befehl = conn.createStatement();
Befehl.executeUpdate("INSERT INTO Zugliste(SpielNr, Spieler, Zug) VALUES ('" + SpielNr + "', '" + Spieler + "' ,'" + Zug +"');");
closeConnection();
closeStatement();
}
catch (Exception e) {
System.err.println("Fehler beim speichern des Zuges!");}
}
public void SetSieg(String Sieger){
try{
makeConnection();
Befehl = conn.createStatement();
Befehl.executeUpdate("UPDATE Spiele SET Sieger =" + Sieger + "where SpielNr=" + SpielNr + ";");
closeConnection();
closeStatement();
}
catch (Exception e) {
System.err.println("Fehler beim speichern des Siegers!");}
}
}