Hallöchen,
ich melde mich nun wieder bezüglich eines kleineren Problems zu Wort.
Die letzte Problematik bezüglich des Verbindungsaufbaus habe ich bereits bewältigt.
Nun stellt sich jedoch bei den Abfragen ein kleines Problem. Ich kann Problemlos eine normale Abfrage über Select tätigen. So frage ich zunächst einmal ab ob ein Command mit einem bestimmten Titel existiert. Ich habe hierzu in der Datenbank eine Tabelle angelegt, die die Spalten commandTitle, count und id besitzt. Nun frage ich die Datenbank mit folgendem SQL-Syntax ab:
title ist hierbei ein x-Beliebiger String, der den Namen des Commands beinhaltet.
Dies funktioniert soweit auch noch fehlerfrei.
Nun überprüfe ich ob das ResultSet welches ich von der Abfrage zurück erhalte überhaupt gefüllt ist. Das mache ich mit
. Dieses liefert mir bei den Commands ein false also möchte ich die nicht vorhandenen Commands einfügen. Das mache ich mit diesem Befehl:
title ist wie zuvor die Variable des CommandTitels. Die 0 entspricht dem Wert für Count. Das was ich weggelassen habe ist die Id im SQL Befehl, da die ja von der Datenbank automatisch mitgeführt werden sollte. Im Webinterface unter phpmyadmin hat dieser befehl auch funktioniert und einen Eintrag angelegt.
Hier vl einmal der Code von der SQLAbfrage im allgemeinen:
Nun erhalte ich allerdings bei jedem Command der hinzugefügt werden soll folgende Fehlermeldung im Stacktrace:
Kann ich möglicherweise für Eingaben nicht die selbe Methode nutzen wie für ausgaben?
ich melde mich nun wieder bezüglich eines kleineren Problems zu Wort.
Die letzte Problematik bezüglich des Verbindungsaufbaus habe ich bereits bewältigt.
Nun stellt sich jedoch bei den Abfragen ein kleines Problem. Ich kann Problemlos eine normale Abfrage über Select tätigen. So frage ich zunächst einmal ab ob ein Command mit einem bestimmten Titel existiert. Ich habe hierzu in der Datenbank eine Tabelle angelegt, die die Spalten commandTitle, count und id besitzt. Nun frage ich die Datenbank mit folgendem SQL-Syntax ab:
Code:
SELECT * FROM commands WHERE commandTitle='" + title + "'
Dies funktioniert soweit auch noch fehlerfrei.
Nun überprüfe ich ob das ResultSet welches ich von der Abfrage zurück erhalte überhaupt gefüllt ist. Das mache ich mit
Code:
resultset.first();
Code:
INSERT INTO `commands`(`commandTitle`, `count`) VALUES ('" + title + "','0')"
Hier vl einmal der Code von der SQLAbfrage im allgemeinen:
Java:
public ResultSet executeQuarry(String querry)
{
try {
if (connection != null)
{
statement = connection.createStatement();
return statement.executeQuery(querry);
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
Nun erhalte ich allerdings bei jedem Command der hinzugefügt werden soll folgende Fehlermeldung im Stacktrace:
Code:
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.StatementImpl.checkForDml(StatementImpl.java:384)
at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1153)
at mysql.DatabaseConnector.executeQuarry(DatabaseConnector.java:40)
at core.Twitch.registCommands(Twitch.java:95)
at core.Twitch.<init>(Twitch.java:48)
at core.Main.main(Main.java:25)
Kann ich möglicherweise für Eingaben nicht die selbe Methode nutzen wie für ausgaben?