Ich arbeite grade an nem kleinen Projekt und will dabei eine mysql tabelle auslesen.
Dazu hab ich folgenden Code:
Leider bekomme ich aber immer eine SQLException.
Fällt jemandem, was auf oder weiß jmd, wie ich weiterarbeiten kann?
Ich weiß ehrlich gesagt nicht weiter
MG, Milkaselnuss
Dazu hab ich folgenden Code:
Java:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class MySQLConnection {
private static Connection con = null;
//Hostname
private static String dbHost = "db4.cwsurf.de";
//Port -- Standard: 3306
private static String dbPort = "3306";
//Datenbankname
private static String database = "X";
//Datenbankuser
private static String dbUser = "X";
//Datenbankpasswort
private static String dbPassword = "X";
private MySQLConnection() {
try{
// Datenbanktreiber für ODBC Schnittstellen laden.
// Für verschiedene ODBC Datenbanken muss dieser Treiber
// nur einmal geladen werden.
Class.forName("com.mysql.jdbc.Driver");
//Verbindung zur ODBC-Datebank herstellen
// Es wird die JDBC-ODBC-Brücke verwendet.
con = DriverManager.getConnection("jdbc:mysql://" + dbHost + ":"
+ dbPort + "/" + database + "?" + "user=" + dbUser + "&"
+ "password=" + dbPassword);
} catch (ClassNotFoundException e){
JOptionPane.showConfirmDialog(null, "Fehler: Treiber nicht gefunden!", "Fehler", JOptionPane.OK_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE);
} catch (SQLException e){
JOptionPane.showConfirmDialog(null, "Fehler: Connection nicht möglich!", "Fehler", JOptionPane.OK_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE);
}
}
private static Connection getInstance() {
if (con == null)
new MySQLConnection();
return con;
}
public static void printScoreList() {
con = getInstance();
if (con != null){
//Anfrage-Statement erzeugen.
Statement query;
try {
query = con.createStatement();
//Ergebnistabelle erzeugen und abholen.
String sql = "SELECT dbPlayerName, dbScore, dbScore2, dbRank, dbDate " + "FROM actor " + "ORDER BY dbPlayerName";
ResultSet result = query.executeQuery(sql);
//Ergebnissätze durchfahren
while (result.next()){
String playerName = result.getString("dbPlayerName");
int score = result.getInt("dbScore");
String score2 = result.getString("dbScore2");
String rank = result.getString("dbRank");
String date = result.getString("dbDate");
String output = playerName + " : " + score + " " + score2 + " Rank: " + rank + " (" + date + ")";
System.out.println(output);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//Fügt einen neuen Datensatz hinzu
public static void insertScore(String playerName, int score, String score2, String rank, String date) {
con = getInstance();
if (con != null){
//Anfrage-Statement erzeugen.
Statement query;
try {
query = con.createStatement();
//Ergebnistabelle erzeugen und abholen.
String sql = "INSERT INTO actor(dbPlayerName, dbScore, dbScore2, dbRank, dbDate) VALUES('" + playerName + "', '" + score +"', '" + score2 +"', '" + rank +"', '" + date +"')";
query.executeUpdate(sql);
//Es wird der letzte Datensatz abgefragt
ResultSet result = query.executeQuery("SELECT actor id, dbPlayerName, dbScore, dbScore2, dbRank, dbDate FROM actor ORDER BY actor_id desc LIMIT 1");
//Wenn ein Datensatz gefunden wurde, wird auf diesen Zugegriffen
if (result.next()){
System.out.println("(" + result.getInt(1) + ")" + result.getString(2) + " " + result.getString(3) + " " + result.getString(4) + " " + result.getString(5) + " " + result.getString(6));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//Aktualisiert den Datensatz mit der übergebenen actorID
public static void updateScore(String playerName, int score, String score2, String rank, String date, int actorId){
con = getInstance();
if (con != null){
//Anfrage-Statement erzeugen
Statement query;
try {
query = con.createStatement();
String querySql = "SELECT actor_id, dbPlayerName, dbScore, dbScore2, dbRank, dbDate FROM actor WHERE actor_id = " + actorId;
ResultSet result = query.executeQuery(querySql);
if(result.next()){
//Vorher
System.out.println("Vorher: (" + result.getInt(1) + ")" + result.getString(2) + " " + result.getString(3) + " " + result.getString(4) + " " + result.getString(5) + " " + result.getString(6));
}
//Ergebnistabelle erzeugen und abholen.
String updateSql = "UPDATE actor SET dbPlayerName = '" + playerName + "', dbScore = '" + score + "', dbScore2 = '" + score2 + "', dbRank = '" + rank + "', dbDate = '" + date + "' WHERE actor_id = " + actorId;
query.executeUpdate(updateSql);
//es wird der letzte Datensatz abgefragt
result = query.executeQuery(querySql);
if (result.next()){
System.out.println("NACHHER: (" + result.getInt(1) + ")" + result.getString(2) + " " + result.getString(3) + " " + result.getString(4) + " " + result.getString(5) + " " + result.getString(6));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Leider bekomme ich aber immer eine SQLException.
Fällt jemandem, was auf oder weiß jmd, wie ich weiterarbeiten kann?
Ich weiß ehrlich gesagt nicht weiter
MG, Milkaselnuss