Statement.getGeneratedKeys() funktioniert nicht

Status
Nicht offen für weitere Antworten.
S

Spontex

Gast
Hallo,

also ich habe folgendes Problem: Nachdem ich einen neuen Datensatz in eine Tabelle der Datenbank hinzugefügt habe würde ich gerne den dafür von der DB erstellen Schlüssel erfahren. Also habe ich folgendes gemacht:

Code:
	public int insert ( String sqlQuery ) {
		ResultSet oResult;
		try {
			oState = oConn.createStatement();
			oState.executeUpdate( sqlQuery );
			oResult = oState.getGeneratedKeys();
			return oResult.getInt("GENERATED_KEYS");
		}
		catch( SQLException e ) {
			e.printStackTrace();
			return -1;
		}
	}

Das von der Methode getGeneratedKeys(); enthält zwar eine Spalte Namens "GENERATED_KEYS" aber dort ist leider kein Wert enthalten. Und mein Primärschlüssel würde per auto_increment auch erstellt (hab mal nachgeschaut). Irgerendwie verschliesst sich mir was da falsch sein könnte.

Ab JDK 1.4 kennt Java die Methode getGeneratedKeys() (http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#getGeneratedKeys()) und MySQl inkl. Connector sollten das eigentlich auch können (http://www.mysql.de/products/connector/j/)

Java: 1.4.2
Datenbank: MySql 4.1.3
J-Connector: 3.0.14

Grüsse
 
G

Guest

Gast
Ist mir auch gerade aufgefallen, manchmal sieht man den Wald vor lauter Bäumen nicht oder wie war das?? :wink:

Code:
	public int insert ( String sqlQuery ) {
		ResultSet oResult;
		try {
			oState = oConn.createStatement();
			oState.executeUpdate( sqlQuery, Statement.RETURN_GENERATED_KEYS );
			oResult = oState.getGeneratedKeys();
			if (oResult.next()) {
				return oResult.getInt(1);
			}
			else {
				return -1;
			}
		}
		catch( SQLException e ) {
			e.printStackTrace();
			return -1;
		}
	}
 
M

murkser

Gast
Hallo,

ich habe folgenden Code:

Code:
        java.sql.Statement stmt = dbConnection.createStatement();
        stmt.executeUpdate( sql ,Statement.RETURN_GENERATED_KEYS );
        ResultSet rs = stmt.getGeneratedKeys();
        if (rs.next()) System.out.println("id:"+rs.getInt(1));
        stmt.close();

damit bekomme ich immer folgenden Fehler in der Zeile mit dem executeUpdate():
java.lang.AbstractMethodError: org.gjt.mm.mysql.jdbc2.Statement.execute(Ljava/lang/String;I)Z
Das SQL ist ein Insert und funtkioniert. Lasse ich die Rückgabe der ID weg, funtkioniert der insert, nur das RETURN_GENERATED_KEYS funktioniert irgendwie nicht.

Hat jemand ne Idee, was das problem sein könnte?[/quote]
 

Bleiglanz

Gesperrter Benutzer
lies mal die doku zum treiber (oder besorg dir den Quelltext)

=> die Methode wird nicht immer unterstützt....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
Kotelettklopfer SQLite Verhindern von doppelter Statement Ausführung Datenbankprogrammierung 25
L SQL-Statement SQL Statement doppelte Einträge finden Datenbankprogrammierung 9
C MySQL SQL Statement wir nicht ausgeführt Datenbankprogrammierung 11
G Datenbank Statement Datenbankprogrammierung 22
Dimax Erstellen ResultSet und Statement Datenbankprogrammierung 30
B MySQL Umkreissuche - brauche Hilfe bei SQL Statement Datenbankprogrammierung 12
M CSV Import - Dynamisches SQL Statement Datenbankprogrammierung 15
D Wiederverwendung / Recycling / Queuing von Statement Objekten Datenbankprogrammierung 1
D SQL Statement gesucht... Datenbankprogrammierung 15
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
F Dynamischen String in SQL Statement einbinden Datenbankprogrammierung 9
L SQL Statement mit Switch-Case funktioniert nicht Datenbankprogrammierung 6
U PostgreSQL SELECT Statement Datenbankprogrammierung 5
A Problem mit Create-Statement Datenbankprogrammierung 9
LadyMilka MySQL Syntaxfehler im Statement Datenbankprogrammierung 3
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
P sql statement alter table foreign key Datenbankprogrammierung 4
T sql Statement Datenbankprogrammierung 9
B JDBC MySQL Statement Datenbankprogrammierung 3
A Sql Statement - Alle Zahlen größer 9 Datenbankprogrammierung 3
F Sql Statement Datenbankprogrammierung 12
A SQL-Statement prüfen Datenbankprogrammierung 3
W Statement als Klassenvariable Datenbankprogrammierung 27
I Select-Statement optimieren Datenbankprogrammierung 14
D SQLite Statement nimmt keine Namen aus getter-Methoden Datenbankprogrammierung 11
alex_fairytail MySQL SQL Statement Delete zwischen Datum1 und Datum2 Datenbankprogrammierung 5
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
R Derby/JavaDB LIKE Statement mit Wildcard Datenbankprogrammierung 20
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
R Select Statement als temporärer Table Datenbankprogrammierung 7
R Derby/JavaDB Select Statement Where bedingung will nicht ganz! Datenbankprogrammierung 4
R Derby/JavaDB Select TOP Statement geht nicht Datenbankprogrammierung 3
S Null Pointer exception statement Datenbankprogrammierung 8
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
K statement.execute liefert false Datenbankprogrammierung 6
C PostgreSQL Prepared Statement Datenbankprogrammierung 7
N Prepared Statement mit unbekannter Anzahl von Where-Clauses Datenbankprogrammierung 30
S SQL Statement: executeUpdate Datenbankprogrammierung 15
F wie funktioniert if Statement in SELECT? Datenbankprogrammierung 2
T MySQL PreparedStatement mit INSERTs langsam, Batch-Statement auch Datenbankprogrammierung 4
M MySQL größere von zwei Zahlen in Update Statement Datenbankprogrammierung 2
J [Hibernate] Select Statement Datenbankprogrammierung 4
S HSQLDB DELETE-Statement funktioniert nicht Datenbankprogrammierung 4
L MySQL Prepared Statement batch langsamer als bulk insert? Datenbankprogrammierung 10
L MySQL Kann Statement nicht erzeugen Datenbankprogrammierung 5
T Komme mit dem SQL Statement nicht weiter Datenbankprogrammierung 5
D MySQL Client - Server: Client verabschiedet sich sobald ich Variablen im SQL Statement verwende Datenbankprogrammierung 9
F Frage zu Prepared Statement Datenbankprogrammierung 2
T java.sql.SQLException: unexpected end of statement Datenbankprogrammierung 2
J SQL-Statement Datenbankprogrammierung 10
U MSSQL Verbindung steht, aber meckert beim Statement Datenbankprogrammierung 2
S executeBatch result immet mit Statement.SUCCESS_NO_INFO Datenbankprogrammierung 4
G Frage zum Insert-Statement Datenbankprogrammierung 2
J JDBC- Statement Ausführung nicht persistent Datenbankprogrammierung 2
A Connection Variable in anderer Klasse verwenden -> statement Datenbankprogrammierung 2
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
G Mit Prepared Statement in MDB schreiben Datenbankprogrammierung 7
Z DELETE-Statement Datenbankprogrammierung 6
W Prepared Statement und Verbindungsverlust Datenbankprogrammierung 4
G INSERT-STATEMENT Datenbankprogrammierung 6
alexpetri hsql statement problem Datenbankprogrammierung 3
W invalid sql statement ? Datenbankprogrammierung 3
S Probleme mit statement.close() Datenbankprogrammierung 10
G Wie ein SQL-Statement zusammensetzen? Datenbankprogrammierung 5
T Select Statement auf Relation Datenbankprogrammierung 3
S Connection/Statement/ResultSet auf einmal geschlossen Datenbankprogrammierung 8
G MsSQL | Statement.execute(String s) Datenbankprogrammierung 3
W Prepared Statement mehrere Zeichenketten Datenbankprogrammierung 4
G Keine Aussicht mit Prepared Statement Datenbankprogrammierung 10
G Für jede SQL-Abfrage eigenes Statement und ResultSet? Datenbankprogrammierung 3
C Statement/Connection SQLWarning Datenbankprogrammierung 4
J sql-statement Datenbankprogrammierung 7
G Update Statement automatisch unterteilen lassen Datenbankprogrammierung 3
P Prepared Statement scheint nicht zu funktionieren Datenbankprogrammierung 14
T SQL-Statement parser? Datenbankprogrammierung 11
N Prepared Statement Datenbankprogrammierung 8
G Problem mit Suchen Statement Java und MS-SQL-Server Datenbankprogrammierung 9
J SELECT-Statement Datenbankprogrammierung 4
G Problem mit Delete-Statement Datenbankprogrammierung 3
L mehrere Abfragen mit einem Statement!? Datenbankprogrammierung 5
E Problem mit create-Statement Datenbankprogrammierung 5
E SQL-Statement um eine Nummer in der Datenbank zu suchen Datenbankprogrammierung 3
P PreparedStatement batch und getGeneratedKeys Datenbankprogrammierung 7
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
S Das printen der Ausgabe des Oracle-SQL-Statements in der Java-Eclipse-Konsole funktioniert nicht Datenbankprogrammierung 6
S Datenbankprogrammierung in Java unter NetBeans 12 funktioniert nicht! Datenbankprogrammierung 1
D JPA gleiche methode funktioniert an einer Stelle, an der anderen nicht Datenbankprogrammierung 3
J Firebase KeepSynced funktioniert nicht Datenbankprogrammierung 0
L SQL-Statement INSERT INTO ON DUPLICATE KEY UPDATE funktioniert nicht Datenbankprogrammierung 5
H Derby/JavaDB Beispiel funktioniert nur einmal Datenbankprogrammierung 7
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
M Java Datenbankanbindung funktioniert nicht Datenbankprogrammierung 4
J Verbindung zu Derby Datenbank funktioniert nicht Datenbankprogrammierung 14
E Warum funktioniert das Erzeugen einer View nicht? Datenbankprogrammierung 1
M DB-Zugriff funktioniert nach JAR-Erstellung nicht mehr Datenbankprogrammierung 3
L MySQL App/Java Zugriff auf Mysql-DB funktioniert nicht Datenbankprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben