vendredi 5 juin 2015
SQL Abfrage über PreparedStatement mit UPDATE in Verbindung mit EXISTS liefert Fehler
Posted on 03:57 by verona
Hallo liebe Forumgemeinde,
wie solls anders sein, ich hab ein Problem mit einer Aufgabe aus nem Übungsblatt für Informatik 2.
Es geht darum, dass auf dem Server der Uni eine mySQL Datenbank eingerichtet wurde und diese eine Tabelle
Hund enthält, mit Spalten: ID, name, lebensalter, besitzer
Sie wurde anhand dieser SQL-Abfrage erzeugt:
CREATE TABLE Hund
(
ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
lebensalter SMALLINT UNSIGNED NOT NULL,
besitzer VARCHAR(20),
PRIMARY KEY (ID)
);
Ziel ist es nun ein Java-Programm zu schreiben, welches eine Verbindung zur Datenbank herstellt und über Kommandozeilenparameter bestimmte Funktionalitäten bereit stellt. Die Aufgabe, die mir Probleme bereitet ist folgende:
Mit Kommandozeilenparametern der Form
-modify <id> <attributname> <attributwert>
soll eine beliebige Spalte (mit Ausnahme der ID) der Tabelle Hund modiziert werden
konnen. Vorher muss naturlich sichergestellt werden, dass ein Tupel mit dieser ID auch
existiert. Der Benutzer soll benachrichtigt werden, falls kein Tupel mit dieser ID existiert.
Mir ist klar, dass man mit EXISTS auf Existenz prüfen kann, ich hab das auch umgesetzt, erhalte jedoch folgenden Fehler:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Der Code dazu:
Ich hab die SQL Abfrage ergoogled und da wird es genauso gemacht aber irgendwie klappt es nicht.
Hat jemand eine Idee wieso und wie es funktioniert?
Verwendete IDE: Eclipse
Viele Greetz
Walter :)
wie solls anders sein, ich hab ein Problem mit einer Aufgabe aus nem Übungsblatt für Informatik 2.
Es geht darum, dass auf dem Server der Uni eine mySQL Datenbank eingerichtet wurde und diese eine Tabelle
Hund enthält, mit Spalten: ID, name, lebensalter, besitzer
Sie wurde anhand dieser SQL-Abfrage erzeugt:
CREATE TABLE Hund
(
ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
lebensalter SMALLINT UNSIGNED NOT NULL,
besitzer VARCHAR(20),
PRIMARY KEY (ID)
);
Ziel ist es nun ein Java-Programm zu schreiben, welches eine Verbindung zur Datenbank herstellt und über Kommandozeilenparameter bestimmte Funktionalitäten bereit stellt. Die Aufgabe, die mir Probleme bereitet ist folgende:
Mit Kommandozeilenparametern der Form
-modify <id> <attributname> <attributwert>
soll eine beliebige Spalte (mit Ausnahme der ID) der Tabelle Hund modiziert werden
konnen. Vorher muss naturlich sichergestellt werden, dass ein Tupel mit dieser ID auch
existiert. Der Benutzer soll benachrichtigt werden, falls kein Tupel mit dieser ID existiert.
Mir ist klar, dass man mit EXISTS auf Existenz prüfen kann, ich hab das auch umgesetzt, erhalte jedoch folgenden Fehler:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Der Code dazu:
Java Code:
-
-
package aufgabe26;
-
-
import java.sql.*;
-
-
public class Aufgabe26 {
-
-
// TODO Auto-generated method stub
-
-
if (args.length == 0) {
-
return;
-
}
-
-
try {
-
-
-
Class.forName("com.mysql.jdbc.Driver");
-
-
+ "uni-augsburg.de:3306/theDatabase", "student", "inFormatik2");
-
-
-
if (args[0].equals("-modify") && args.length == 4) {
-
if (args[2].equals("name")) {
-
+ "EXISTS (SELECT * FROM Hund WHERE ID = ?");
-
testID.setString(1, args[3]);
-
testID.setInt(2, id);
-
testID.executeUpdate();
-
}
-
}
-
-
}
-
}
-
}
-
}
Ich hab die SQL Abfrage ergoogled und da wird es genauso gemacht aber irgendwie klappt es nicht.
Hat jemand eine Idee wieso und wie es funktioniert?
Verwendete IDE: Eclipse
Viele Greetz
Walter :)
SQL Abfrage über PreparedStatement mit UPDATE in Verbindung mit EXISTS liefert Fehler
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire