Problem mit Datenbankabfrage

flea

Mitglied
Hallo zusammen.

Ich habe schon ein paar mal hier im Forum nachgelesen. Da ich im Moment aber einfach nicht mehr weiter komme mache ich hiermit meinen ersten Eintrag : )
Ich arbeite an einem großen Programm mit. Meine Programmierkenntnisse sind allerdings nicht so groß, weswegen ich Probleme habe.

Folgender Code ist bereits in der DBC.java Klasse angelegt:

Java:
	public DirectSpeeches loadDirectSpeeches(Chapter chapter, int level)
	throws Exception {
		Message answer = connection.call(new Message(key, "loadDirectSpeeches",
				new Integer(chapter.getDB_ID()), level));
		DirectSpeeches dss = (DirectSpeeches) answer.getArguments()[0];
		dss.setChapter(key, chapter);
		return dss;
	}

Mit folgendem Code kann ich darauf erfolgreich zugreifen:

Java:
     case DirectSpeech: 
			return (Vector<DirectSpeech>) dbc.loadDirectSpeeches(chapter,0).getVector();


Einen "analogen" Zugriff will ich auf folgende Speicherung der Datenbank erreichen:


Java:
     public synchronized ArrayList<DialogFaces> loadFaces (Chapter chapter, int level)
	throws Exception {
		Message answer = connection.call(new Message(key, "loadFaces", new Integer(chapter.getDB_ID()), level));
		ArrayList<DialogFaces> faces = (ArrayList<DialogFaces>) answer.getArguments()[0];
		for (int i=0; i != faces.size(); ++i) {
			DialogFaces face = faces.get(i);
			face.setChapter(key, chapter);
		}
		return faces;

Wie aber greife ich nun darauf zu???
Das hier funktioniert schon mal nicht:

Java:
case Faces: 
			return (ArrayList<DialogFaces>) dbc.loadFaces(chapter,null, 0).getArray();

Wäre super wenn mir jemand weiterhelfen könnte! Hoffe ich habe mich verständlich ausgedrückt.

Greetz Hannes
 
G

gman

Gast
In Zeile 2 in deinem zweiten Codebeispiel sollte das "getArray" überflüssig sein, da die Methode "loadFaces" ja ArrayList
als Rückgabewert hat (noch besser wäre an der Stelle nur List).

[c]return (List<DialogFaces>) dbc.loadFaces(chapter,null, 0);[/c]
 

flea

Mitglied
Ok, vielen Dank schon mal :)

Leider klappts noch immer nicht.

Hier noch mal der Code wie er jetzt aussieht (außerdem hatte ich einen Parameter zu viel bei loadFaces() ). Zudem dieses mal inkl. Kopf, ich glaube der passt auch nicht ganz:

Java:
public static Vector<? extends DB_Element> getAll(TopDownType type, DBC dbc, Chapter chapter)
			throws IllegalArgumentException, Exception{
			
		switch (type) {

			
		case DialogFaces: 
			return (List<DialogFaces>) dbc.loadFaces(chapter, 0);

...
 
G

gman

Gast
Ups, die getAll-Methode hat ja Vector als Rückgabewert. Da hilft dir die Änderung dich ich dir vorgeschlagen
habe natürlich nicht weiter weil du damit den falschen Typ zurück gibst (nämlich List).
Muste halt entweder loadFaces so umschreiben das ein Vector zurückkommt oder die gelieferte Liste in einen
Vector packen:

Java:
case DialogFaces:

List<DialogFaces> list = dbc.loadFaces(chapter, 0);
Vector<DialogFaces> returnVector = new Vector<DialogFaces>();
returnVector.addAll(list);

return returnVector;
 

flea

Mitglied
Vielen Dank! Endlich funktioniert es :)

Allerdings erhalte ich in meinem Programm dann nicht das "wirkliche" Ergebnis, sondern eine Art Adressierung:

de.uni.iz.bung1.dbc.data.DialogFaces@fed587b

Die Zahlen-Nummerkombination hinter dem @ variiert. Habe das selbe an einer anderen Stelle des Programms auch, also dass anstatt des "wahren" Ergebnisses so eine Adressierung kommt.
Was bedeutet das und wie oder wo kann ich das vermutlich lösen?
 
G

gman

Gast
Das ist die Standard-Ausgabe der "toString"-Methode der Klasse DialogFaces, wenn du sie nicht überschrieben hast.
Wahrscheinlich musst du entweder die Methode überschreiben oder dir das aus dem DialogFaces-Objekt raussuchen
was du anzeigen willst.
 

flea

Mitglied
Ok. Habe jetzt schon ein paar Sachen probiert, aber ich komme nicht weiter. Meine DialogFaces Klasse sieht so aus:

Java:
public class DialogFaces extends DB_Element implements Serializable, Cloneable, CommentOwner
{
	private static final long serialVersionUID = 6534136883025047L;
	private int iuIndex;
	private String description;
	private DialogSpeaker speakers;
	private Chapter chapter;
	
	public DialogFaces (DBC_Key key, int id, Chapter chapter, String description, DialogSpeaker speakers, int iuIndex) 
	{
		super(id);
		key.unlock();
		this.chapter = chapter;
		this.iuIndex = iuIndex;
		this.description = description;
		this.speakers = speakers;
	}
	
	public DialogFaces (Chapter chapter, int iuIndex, String description, DialogSpeaker speakers)
	{
		super(-1);
		this.chapter = chapter;
		this.iuIndex = iuIndex;
		this.description = description;
		this.speakers = speakers;
	}
		
	public void setIUIndex(int iuindex) {
		this.iuIndex = iuindex;
	}
	
	public Integer getIUIndex() {
		return iuIndex;
	}
	
	public void setDescription(String description) {
		this.description = description;
	}
	
	public String getDescription() {
		return this.description;
	}
	
	
	public void setSpeaker(DialogSpeaker speakers)
	{
		this.speakers = speakers;
	}
	
	public DialogSpeaker getSpeakers()
	{
		return speakers;
	}

	public int getClassCode() {
		return Comments.CLASS_CODE_DIALOG_Faces;
	}

	@Override
	public int getIndex() {
		return -1;
	}

	@Override
	public boolean remove() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public void setChapter(DBC_Key key, Chapter chapter) {
		key.unlock();
	    this.chapter = chapter;		
	}
}


Die Klasse beinhaltet ja keine "to-string" Methode, oder?
Mit dem Breakpoint sehe ich, dass eigentlich alle gewünschten Ergebnisse mit deiner Methode geholt werden, nur zum Schluss erhalte ich nach wie vor lediglich die Adressierung als Ausgabe. Hmm..
 

preachie

Aktives Mitglied
DialogFaces mag keine toString() Methode definiert haben, allerdings die "Mutter aller Klassen" java.lang.Object, von der alle Java Klassen erben, besitzt sie und demzufolge nach den Regeln der Vererbung auch sämtliche andere Klassen.

Von daher, wie gman bereits geschrieben hat, musst Du die toString() Methode lokal überschreiben und darin ausgeben, was auch immer Du ausgeben möchtest.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Problem bei einfacher Datenbankabfrage Datenbankprogrammierung 7
W Problem mit Datenbankabfrage Datenbankprogrammierung 3
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 INSERT.............ON DUPLICATE KEY Datenbankprogrammierung 3
C Problem with insertion in database. Datenbankprogrammierung 7
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
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
M INSERT-Problem = integrity constraint violation: foreign key no parent Datenbankprogrammierung 5
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
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
O MySQL Problem mit Umlauten?! Datenbankprogrammierung 2
E Hibernate Problem bei bidirektionaler 1:n Verbindung Datenbankprogrammierung 2
D MySQL Problem beim einfügen von Double-Zahlen Datenbankprogrammierung 4
M Oracle Problem mit Resultset Datenbankprogrammierung 11
T Problem bei Zugriff auf Access Datenbank Datenbankprogrammierung 7
W jpmdbc Problem -Beispiel funktioniert nicht Datenbankprogrammierung 9
W Verständnis-Problem JPA Grundlagen Datenbankprogrammierung 5
M Problem Array in BLOB-Feld in DerbyDB zu speichern Datenbankprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben