Datenbankeintag eines Warenkorbes funktioniert nicht

jsffer

Mitglied
Hallo,

habe folgendes Problem:

Habe einen JSF-Shopsystem programmiert, dabei soll der gewählte Warenkorb, sowie auch der "Kunde" in eine MySQL Datenbank eingetragen werden. Problem ist das nur die Kundendaten in die Datenbank übertragen werden. Ich brauche eine Möglichkeit um den Warenkorb, der sozusagen zwei Schritte zuvor generiert wurden, zu speichern und hier mit den Kundendaten in die DB zu übertragen.

Hier nochmal der chronologische Ablauf:

Warenkorb -> Kundendaten -> Übersicht und Übertragung der Daten in die DB(bestätigung der Übersicht)

Hier der Code für die Übertragung in DB

Java:
public String bestellen() {
		Kunde k = new Kunde();
		Position p;
		Bestellung b = new Bestellung();
		List<Wkorb_buch> waren = wkorb.getWarenkorb();

			
		
		
		int kid;
		int bid;
		k.setGruppennr(gruppennr);
		k.setGueltigbis(kartengueltigkeit);
		k.setKartennr(kartennummer);
		k.setName(name);
		k.setOrt(ort);
		k.setPlz(plz);
		k.setStrasse(strasse + hausnummer);
		k.setVorname(vorname);
		k.setZahlungsart(zahlungsart);
		kid = db.persistKunde(k);
		b.setGruppennr(gruppennr);
		b.setKdnr(kid);
		bid = db.persistBestellung(b);
		// Warenkorb:
		for (int i = 0; i < waren.size(); i++) {
			p = new Position();
			p.setGruppennr(gruppennr);
			p.setMenge(waren.get(i).getAnzahl());
			p.setId(new PositionId(bid, waren.get(i).getId()));
			db.persistPosition(p);
		}
		//Wkorb.warenkorbloeschen();
		return null;
	}

Kann mir da jemand helfen? Kann dann auch den weiteren Code zu verfügung stellen.

Danke schonmal!
 

bronks

Top Contributor
Verstehe ich das richtig: Noch in Zeile 21 macht das Programm was es soll und danach ... ... ja was macht es danach?
- Speichert es nur Deinen Warenkorb nicht in die DB?
oder
- Oder gibt es eine Fehlermeldung?
 

jsffer

Mitglied
Verstehe ich das richtig: Noch in Zeile 21 macht das Programm was es soll und danach ... ... ja was macht es danach?
- Speichert es nur Deinen Warenkorb nicht in die DB?
oder
- Oder gibt es eine Fehlermeldung?

Genau, der Ablauf ist ja wie folgt:

Ware in Warenkorb -> Eingabe Kundendaten -> Bestätigung, Übersicht und Übertragen an DB

Das alles geschieht in verschiedenen Klassen. Da die Kundendaten in die DB eingetragen werden, vermute ich das ich den Warenkorb irgendwie anders speichern muss, damit er dann auf der Bestätigung/Übersichtsseite auch an die DB übertragen werden kann.
 

jsffer

Mitglied
Zeige halt mindestens mal die persistKunde(). In meiner Glaskugel isses heute leider etwas vernebelt

Java:
package Handler;

import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;

import javax.faces.model.ListDataModel;
import javax.faces.validator.ValidatorException;


import wkorb.Wkorb_buch;
import wkorb.Wkorb;
import Handler.Warenkorb;
import de.imut.ec.bshop.Bestellung;
import de.imut.ec.bshop.Buch;
import de.imut.ec.bshop.DBUtil;
import de.imut.ec.bshop.Kunde;
import de.imut.ec.bshop.Position;
import de.imut.ec.bshop.PositionId;

@ManagedBean // sagt dem system dass das hier eine Managed Bean sein soll
@SessionScoped // definiert die Gültigkeit der session

public class Kasse extends Warenkorb{
//	Warenkorb wkorb;
	
	DBUtil db = new DBUtil();
	int gruppennr = 5;
	String name;
	String vorname;
	String ort;
	String strasse;
	String hausnummer;
	String plz;
	String zahlungsart;
	String karte;
	String kartennummer;
	String kartengueltigkeit;
//	private Warenkorb warenkorb;
//	ListDataModel<Warenkorb> Waren;
	List<Wkorb_buch> waren;

//	public List<Wkorb_buch> getWarenkorb() {
//		return wkorb.getWarenkorb();
//	}
	
	public String kasse(){
		waren = wkorb.getWarenkorb();
	//	System.out.println(waren);
		return "Kasse";
	}
	
	
//	public void setWarenkorb(Warenkorb wkorb) {
//		this.wkorb = wkorb;
//	}

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setVorname(String vorname) {
		this.vorname = vorname;
	}

	public String getVorname() {
		return vorname;
	}

	public void setOrt(String ort) {
		this.ort = ort;
	}

	public String getOrt() {
		return ort;
	}

	public void setStrasse(String strasse) {
		this.strasse = strasse;
	}

	public String getStrasse() {
		return strasse;
	}

	public void setHausnummer(String hausnummer) {
		this.hausnummer = hausnummer;
	}

	public String getHausnummer() {
		return hausnummer;
	}
	
	public void setPlz(String plz) {
		this.plz = plz;
	}

	public String getPlz() {
		return plz;
	}

	public void setZahlungsart(String zahlungsart) {
		this.zahlungsart = zahlungsart;
	}

	public String getZahlungsart() {
		return zahlungsart;
	}

	public void setKarte(String karte) {
		this.karte = karte;
	}

	public String getKarte() {
		return karte;
	}

	public void setKartennummer(String kartennummer) {
		this.kartennummer = kartennummer;
	}

	public String getKartennummer() {
		return kartennummer;
	}

	public void setKartengueltigkeit(String kartengueltigkeit) {
		this.kartengueltigkeit = kartengueltigkeit;
	}
	
	public String getKartengueltigkeit() {
		return kartengueltigkeit;
	}
	
"Validierung habe ich hier entfernt"
	
	
	public String bestellen() {
		Kunde k = new Kunde();
		Position p;
		Bestellung b = new Bestellung();
//		List<Wkorb_buch> waren = wkorb.getWarenkorb();
		int kid;
		int bid;
		k.setGruppennr(gruppennr);
		k.setGueltigbis(kartengueltigkeit);
		k.setKartennr(kartennummer);
		k.setName(name);
		k.setOrt(ort);
		k.setPlz(plz);
		k.setStrasse(strasse + hausnummer);
		k.setVorname(vorname);
		k.setZahlungsart(zahlungsart);
		kid = db.persistKunde(k);
		b.setGruppennr(gruppennr);
		b.setKdnr(kid);
		bid = db.persistBestellung(b);
		// Warenkorb:
		for (int i = 0; i < waren.size(); i++) {
			p = new Position();
			p.setGruppennr(gruppennr);
			p.setMenge(waren.get(i).getAnzahl());
			p.setId(new PositionId(bid, waren.get(i).getId()));
			db.persistPosition(p);
		}
		//Wkorb.warenkorbloeschen();
		return null;
	}
	
	
	
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Robert Zenz Aufteilen von Up/Downvotes eines Benutzers in drei Gruppen. Datenbankprogrammierung 0
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
damike84 Hibernate: persistieren eines Graphen Datenbankprogrammierung 2
G Laufzeit eines Algorithmus mittels Big Theta bestimmen Datenbankprogrammierung 5
G ID zuweisung eines TerminKalenders (mehrere Kalender) Datenbankprogrammierung 8
D Hibernate: Zustand eines Objekts erkennen? Datenbankprogrammierung 0
S HSQLDB Verbieten eines update auf eine bestimmte reihe Datenbankprogrammierung 4
H MySQL Werte eines Datensatzes in einen anderen kopieren Datenbankprogrammierung 2
M [Hibernate]Abgleich eines lokalen Objekts mit dem Zustand aus der Datenbank. Datenbankprogrammierung 3
N Problem bei Erstellung eines Index Datenbankprogrammierung 12
G PostgreSQL Postgre: Passwort eines Benutzers ändern Datenbankprogrammierung 3
D Anzeige wärend des Ausführens eines Statements Datenbankprogrammierung 13
N executeUpdate "innerhalb" eines Resultsets Datenbankprogrammierung 14
S Select eines bestimmten Datensatzes Datenbankprogrammierung 4
J Kopieren eines Datensatzes Datenbankprogrammierung 4
R Effiziente Java-Methode zum finden eines freien PK Datenbankprogrammierung 7
M Zugriff auf eine Access-Datenbank innerhalb eines jar-Files Datenbankprogrammierung 7
brainray Bei MySQL alle Datenbanken eines Servers abfragen Datenbankprogrammierung 3
1 User die Rechte eines Datenbankerstellers zuweisen? Datenbankprogrammierung 3
X SQL Abfrage für Ähnlichkeit eines Strings Datenbankprogrammierung 2
B SQL Abfrage. Nur den ersten eines Blocks Datenbankprogrammierung 2
M Passwort eines Technischen Users hinterlegen Datenbankprogrammierung 6
A JPA: Zweite Instanz eines Entitätsobjekts Datenbankprogrammierung 3
M Konvertierung eines Ojects to String Datenbankprogrammierung 3
T Datenbanknamen eines Datenbankservers auslesen Datenbankprogrammierung 9
J Größe eines ResultSets Datenbankprogrammierung 12
G Problem beim Schreiben eines Dateipfads in MySQL-DB Datenbankprogrammierung 9
G Löschen eines Eintrages verbunden mit JList Datenbankprogrammierung 5
F Filtern innerhalb eines Resultset Datenbankprogrammierung 12
W Anzahl der Spalten eines ResultSets bestimmen Datenbankprogrammierung 5
F die DN eines LDAP verzeichnisses abfragen Datenbankprogrammierung 2
B Laden eines JDBC Treiber. Datenbankprogrammierung 7
N Struktur eines Datenbankinterface? Datenbankprogrammierung 7
P Wirkliche Zeilenanzahl eines ResultSets ermitteln Datenbankprogrammierung 22
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
K errechnen eines mittelwertes vom jdbc rSet Datenbankprogrammierung 4
M Abfrage trennt Ergbnis eines Atrributes nach den Leerzeichen Datenbankprogrammierung 4
F Abfrage eines DB Feldes aus einer mySQL Datenbank Datenbankprogrammierung 2
K Datenbank eines Forums nutzen Datenbankprogrammierung 11
J Alle Spalten und Zeilen eines ResultSets ausgeben ? Datenbankprogrammierung 2
B Zeilenzahl eines ResultSet ermitteln Datenbankprogrammierung 5

Ähnliche Java Themen


Oben