Problem mit Insert in zwei Tabellen

werdas34

Bekanntes Mitglied
Hallo,
ich soll eine Methode schreiben, die Werte in zwei Tabellen schreibt.
Die Querys wurden mit der Datenbank in Postgres getestet und liefern, das gewünschte Ergebnis.
Jedoch wenn ich es über mein Programm laufen lasse, dann werden nur die Werte in die erste Tabelle richtig eingefügt, in der zweiten passiert garnichts. Es wird weder eine Exception geworfen noch tritt ein anderer Fehler auf.

Code:
    public void bestellen() throws Exception {
        Scanner read = new Scanner(System.in);

        System.out.print("Kundenname:");
        String kunde = read.nextLine();
        System.out.print("Warenname:");
        String ware = read.nextLine();
        System.out.print("Anzahl der bestellten Ware:");
        int anzahl = read.nextInt();

        try {
            Statement stmt = con.createStatement();

            String query1 = " insert into bestellung(bestid, datum, status, kundid) "
                    + " select nextval('bestellid'), CURRENT_DATE, 0, kundeid from kunde " + " where kname = '" + kunde
                    + "' ;" + " insert into enthaelt(bestid, anzahl, warenid) " + " select currval('bestellid'), "
                    + anzahl + ", warenid from ware " + " where bezeichnung = ' " + ware + "' ";
            stmt.executeUpdate(query1);

        } catch (SQLException e) {
            System.out.println("SQLException:");
            while (e != null) {
                System.out.println("SQLState:" + e.getSQLState());
                System.out.println("Message:" + e.getMessage());
                System.out.println("ErrorCode:" + e.getErrorCode());
                e = e.getNextException();
            }
        }
    }

Das was ich als problematisch ansehe ist, das wenn ich dies in Postgres teste, ich beide insert gleichzeitig einfügen muss, denn sonst wird der Wert für currval('bestellid') im zweiten insert nicht gefunden. (currval('bestellid') bezieht sich auf nextval('bestellid') vom ersten insert)

Ich habe nuun schon bisschen rumprobiert, wie ich es schaffe beide inserts gleichzeitig einzufügen. Jedoch nicht wirklich was brauchbares hinbekommen.

Habt ihr Lösungsvorschläge?

Danke.
mfg werdas34
 

mihe7

Top Contributor
Du musst die beiden INSERTs trennen. Das sollte auch kein Problem darstellen, da lt. PostgreSQL-Doku nextval() nur innerhalb der gleichen Session aufgerufen worden sein muss.

Abgesehen davon: verwende PreparedStatement und try-with-resources.
 

werdas34

Bekanntes Mitglied
Du musst die beiden INSERTs trennen.
Meinst du so ?
Code:
            String query1 = " insert into bestellung(bestid, datum, status, kundid) "
                    + " select nextval('bestellid'), CURRENT_DATE, 0, kundeid from kunde " + " where kname = '" + kunde
                    + "' ";
            String query2 =  " insert into enthaelt(bestid, anzahl, warenid) " + " select currval('bestellid'), "
                    + anzahl + ", warenid from ware " + " where bezeichnung = ' " + ware + "' ";
            stmt.executeUpdate(query1);
            stmt.executeUpdate(query2);
Funktioniert nämlich auch nicht. Hatte ich am Anfang.

Abgesehen davon: verwende PreparedStatement und try-with-resources.
Es ist eine Aufgabe in der heißt es man soll ein einfaches Statement nutzen. Das PreparedStatement kam dann bei einer anderen Aufgabe dran.
 

werdas34

Bekanntes Mitglied
Die zweite Tabelle(enthaelt) hat keine Einträge. Die erste (Bestellung) dagegen schon.
Und keine Exception in Java und sonst auch nichts.
 

werdas34

Bekanntes Mitglied
Jap. Ich habe ja selber geschaut, ob ich ein Leerzeichen oder ähnliches falsch platziert habe, aber mir ist nichts aufgefallen.

Jedoch danke dir. :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Problem with INSERT.............ON DUPLICATE KEY Datenbankprogrammierung 3
M INSERT-Problem = integrity constraint violation: foreign key no parent Datenbankprogrammierung 5
W Problem bei Insert mit JDBC auf MS-SQL-Server 2005 Datenbankprogrammierung 7
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
D Problem mit INSERT INTO Datenbankprogrammierung 19
EagleEye INSERT INTO Problem mit HSQLDB Datenbankprogrammierung 8
R "insert into" - Problem Datenbankprogrammierung 3
R Select und Insert in Schleife - Problem mit ResultSet Datenbankprogrammierung 2
C Problem mit Treiber? insert into Befehl geht nicht Datenbankprogrammierung 5
L SQL-Problem: Insert wird nicht ausgeführt Datenbankprogrammierung 5
L INSERT INTO - Problem unter Java Datenbankprogrammierung 8
M Problem mit Insert-Statements/ PreparedStatements Datenbankprogrammierung 6
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
C Problem mit Apache Poi Datenbankprogrammierung 6
N HSQLDB Problem mit Eclipselink in runnable Jar Datenbankprogrammierung 10
P GroupLayout-Problem Datenbankprogrammierung 12
F XAMPP max connections problem Datenbankprogrammierung 6
C MySQL Problem in phpMyAdmin Oberfläche Datenbankprogrammierung 5
C Problem with insertion in database. Datenbankprogrammierung 7
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
A kleines Problem Datenbankprogrammierung 6
T Problem mit Datenbankverbindung Datenbankprogrammierung 22
V Derby/JavaDB updateRow Problem Datenbankprogrammierung 0
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
Nuiton EmbeddedDriver Problem Datenbankprogrammierung 6
A MongoDB Passwort Problem Datenbankprogrammierung 0
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
F MySQL JDBC Problem Datenbankprogrammierung 5
Anfänger2011 Datenbankstruktur/aufbau (theoretisches Problem) Datenbankprogrammierung 5
M Derby/JavaDB Drop Database problem Datenbankprogrammierung 3
M Derby/JavaDB NOT LIKE problem Datenbankprogrammierung 19
N HSQLDB Problem mit EntityManager Datenbankprogrammierung 7
B MySQL JPAContainer Problem Datenbankprogrammierung 4
K Eclipse Apache Derby Treiber Problem Datenbankprogrammierung 4
C Problem oder Denkfehler mit H2-Database Datenbankprogrammierung 3
E Wie kann man das Problem mit der BLOB-Spalte lösen? Datenbankprogrammierung 1
M Problem mit jcouchdb und CouchDB - UTF8 kein gültiger Zeichentyp Datenbankprogrammierung 4
T MySQL Problem mit Datenbankanbindung Datenbankprogrammierung 4
P SQL Query Problem Datenbankprogrammierung 14
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
B SQLite Problem bei Planung der Datenbank [Jeopardy] Datenbankprogrammierung 3
A Problem mit dem Import und Export von Bildern Datenbankprogrammierung 4
P Oracle Problem mit Umlauten Datenbankprogrammierung 9
A Problem mit Create-Statement Datenbankprogrammierung 9
D Problem mit COLUMN_IDENTIFIERS Datenbankprogrammierung 8
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
M Problem mit mehreren Datasourcen Datenbankprogrammierung 3
R Resultset.last() Problem Datenbankprogrammierung 12
M Problem GroupBy Datenbankprogrammierung 3
S CURRENT_DATE problem Datenbankprogrammierung 2
M Problem mt JPA Id-Generators Datenbankprogrammierung 18
Gossi Oracle Problem mit group by... Datenbankprogrammierung 22
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
R MS-SQL Express Login-Problem Datenbankprogrammierung 8
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
N HSQLDB Problem beim Treiberladen im Jar Datenbankprogrammierung 6
M Problem beim Erstellen einer Query Datenbankprogrammierung 7
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
M Problem mit HQL Syntax Datenbankprogrammierung 5
K Db4o Delete Problem Datenbankprogrammierung 11
Mike90 Deadlock/Lock Problem Datenbankprogrammierung 4
T Access 32bit on Win7 64Bit ODBC Problem Datenbankprogrammierung 1
C unverständliches DB Problem (Es ist kein temporärer Systemtabellenbereich mit einer ausreichenden..) Datenbankprogrammierung 5
S ODBC Treiber Problem/oder unvermögen Datenbankprogrammierung 18
J Problem bei Boolean in PreparedStatement Datenbankprogrammierung 5
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
K Problem mit Datenbankverbindung via Eclipse Datenbankprogrammierung 2
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
S Oracle Problem mit PreparedStatement.setString(1,"str") Datenbankprogrammierung 10
B MySQL Problem mit Datenbankanbindung an MySQL Datenbankprogrammierung 2
N Problem bei Erstellung eines Index Datenbankprogrammierung 12
C Hibernate Property-Problem Datenbankprogrammierung 5
J MyBatis - Update Problem Datenbankprogrammierung 4
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
c_sidi90 Hibernate Problem Table doesnt excist Datenbankprogrammierung 8
M Problem mit JPA - OneToMany-Relation Datenbankprogrammierung 3
I Hibernate: Composite Foreign Key Problem Datenbankprogrammierung 14
S JPA OptimisticLocking Problem Datenbankprogrammierung 11
I Derby/JavaDB Problem mit Befüllung von Tabelle Datenbankprogrammierung 7
JavaKaffee Derby/JavaDB Quartz-WebAnwendung - Connection/Treiber Problem Datenbankprogrammierung 47
I Problem mit ResultSet Datenbankprogrammierung 2
L Excel in MySQL importieren Problem Datenbankprogrammierung 5
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
R MS Access mit Java Problem mit Update Statment Datenbankprogrammierung 13
S MySQL Problem mit SELECT bzw encoding Datenbankprogrammierung 4
T Problem beim schreiben von daten Datenbankprogrammierung 4
M MySQL getConnection - Verbindung Problem Datenbankprogrammierung 2
K Hibernate + MySQL Problem... Datenbankprogrammierung 2
I MySQL MySQL – Proxy Problem Datenbankprogrammierung 4
M Problem mit Hibernate und Named Query Datenbankprogrammierung 1
M Problem mit Hibernate und Access Datenbankprogrammierung 9
C firebird problem Datenbankprogrammierung 5
F Problem mit Datenbankabfrage Datenbankprogrammierung 7
K SQL Problem mit Date Datenbankprogrammierung 3
jeppi MySQL Design-Problem: DB-Verbindung herstellen und halten - JdbcRowSet / Idle-Timeout? Datenbankprogrammierung 9
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
G MySQL Connection Problem Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben