Anzeige Button gibt immer nur 1. Datensatz aus DB aus

Status
Nicht offen für weitere Antworten.
J

Java Spinner

Gast
Hallo ich bin gerade dabei ein Medienprogramm zu schreiben und jetzt steh ich vor folgenden Problem ich möchte in meiner Gui wenn ich da im Textfeld namens Titel einen Film eingebe und anschließend auf anzeigen klicke wird mir immer nur der erste Datensatz aus meiner DB geliefert z.b :
Mein 1. Satz ist Lost, Jahr 2004, 45 min
Mein 2 Satz ist Bad Boys2 2003 120 min

und wenn ich Bad Boys eintippe dann wird mir immer der Inhalt vom 1 .Satz ( immer Lost Informationen) angezeigt vl weis da jemand wo mei Fehler is: der code heißt folgend: Bin für jede hilfe dankbar!

public void anzeigen()

{



try {
StringBuffer s = new StringBuffer();
s.append("SELECT dvd.regisseur, dvd.spielzeit FROM dvd ");
//s.append("SELECT cd.interpret, cd.tracks FROM cd ");


Statement statement = Datenbank.con.createStatement();
ResultSet rs = (ResultSet) statement.executeQuery(s.toString());

if ( rs.next())
{
BenutzerGUI.regisseurInterpretEingabe.setText(rs.getString(1));
BenutzerGUI.spielzeitTrackEingabe.setText(rs.getString(2));

}
else {}


//BenutzerGUI.ergebnisliste.setText("Hier werden die Details ausgegeben:"+'\n'+ suchbegriff);




}
catch (Exception ex )
{}
}
 
S

SlaterB

Gast
wieso Fehler, du liest den ersten Datensatz aus und zeigst ihn an, fertig,

in der DB-Anfrage berücksichtigst du keine Eingaben ('wenn ich Bad Boys eintippe') oder auch mehrere Ergebnisse,
das klammerst du alles aus,

ist deine Frage nun wie du die DB-Anfrage richtig formulierst?

---------

wichtiger Tipp: wenn du von allem wenig Ahnung hast,
dann kombiniere nicht unbekannte GUI mit unbekannte DB-Anbindung!

übe DB-Anfragen mit System.out.println und ähnlich einfachen Mitteln,
dann musst du dir über eine fehlerhafte Anzeige keine Sorgen machen

und übe GUI-Erstellung mit String-Testdaten,
dann musst du dir über ungewissen Datenquellen keine Sorgen machen
 
J

Java Spinner

Gast
Mmh also wenn ich Daten in meine DB (Tabelle CD und DVD) einfügen möchte geht das einwandfrei aber wie gesagt wenn ich unter DVD was eingebe wird immer nur der erste Datensatz aus meiner DB ausgegeben und das is immer Lost mmh i weis net wo da der Fehler am Code liegen soll? Was müsste ich denn änder n damit die DB mir zu jedem Titel den ich eingebe die richtigen Informationne liefert BAd boys => Bad Boys informationnen, Lost => Lost informationen und .....
 
S

SlaterB

Gast
du wunderst dich wirklich, warum
'SELECT dvd.regisseur, dvd.spielzeit FROM dvd'
nicht genau die DVD Bad Boys liefert?

und zu einem anderen Zeitpunkt soll
'SELECT dvd.regisseur, dvd.spielzeit FROM dvd'
wie von Zauberhand Lost zurückgeben?

also das ist mir auch zu hoch, Java ist wohl doch keine Wundertüte,
vielleicht etwas in Richtung

SELECT dvd.regisseur, dvd.spielzeit FROM dvd where name LIKE '%Bad Boys%'
??

oder wie auch immer man die DVD näher bestimmen könnte ;)
 
J

Java Spinner

Gast
mmh i glaub i versteh das nicht so wirklich weil mit dem SQL Befehl SELECT * FROM dvd müsse es doch egal sein was für en titel ich eintippe um diesen anzeigen zu lassen.
 
G

Guest

Gast
mmh hab grad was vergessen natürlich muss der SQL so lauten
s.append("SELECT dvd.regisseur, dvd.spielzeit FROM dvd WHERE title=");
 
S

SlaterB

Gast
da hast du Recht, so klingt das schon besser, aber das ist natürlich noch kein vollständiges SQL,
willst du jetzt hier bis ins Detail eine einzelne Anfrage diskutieren?

dann solltest du schleunigst auf den Punkt kommen und konkrete Fragen stellen,
ewig spiele ich nicht mit ;)
 
J

Java Spinner

Gast
Code:
String beispiel = BenutzerGUI.suchenEingabe.getText();
 query_str =  "SELECT  dvd.regisseur, dvd.spielzeit From dvd WHERE title= beispiel";
beispiel kann mit system.out.... ausgegeben werden, der string wird geholt.

konkrete Fragen: warum greift er nicht auf die variable "beispiel" zu in der sql anweisung?
 
S

SlaterB

Gast
weil String nicht zaubern kann,
woher soll String/ Java wissen, ob den den Inhalt der Variablen
(der zur Laufzeit vielleicht gar nicht mehr bekannt ist)
oder buchstäblich 'beispiel' haben möchtest?

dafür bist du als Programmier da, dafür gibt die Java-Syntax beide Möglichkeiten vor,
schreibe also ganz normal (wie bei JEDEM String-Aufbau)

query_str = "SELECT dvd.regisseur, dvd.spielzeit From dvd WHERE title= "+beispiel;

natürlich solltest du den Namen noch in Hochkommata einbinden um die SQL-Syntax einzuhalten,
vielleicht vorher gar SQL anschauen/ lernen(sorry ;) )
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E MySQL Anzeige Datenbankabfrage in Textfeld o.ä. Datenbankprogrammierung 34
D Anzeige wärend des Ausführens eines Statements Datenbankprogrammierung 13
J MYSQL-Statemnt zur Anzeige doppleter Wörter Datenbankprogrammierung 4
M MySQL Passwort Clientseitig ändern und über Button ausführen Datenbankprogrammierung 0
B Mit Button einen Datensatz löschen Datenbankprogrammierung 2
J Derby/JavaDB Adressbuch mit search-button Datenbankprogrammierung 2
J Über einen Button eine SQL-DB aussuchen Datenbankprogrammierung 3
P Herausfinden wann Query null zurück gibt? Datenbankprogrammierung 1
Thallius MySQL Warum gibt result verschiedene Datumsformate? Datenbankprogrammierung 1
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
Crashbreaker MySQL MySQL - Hibernate gibt Fehler aus Datenbankprogrammierung 25
H Klasse welche Mysql Daten zurück gibt Datenbankprogrammierung 18
E H2 - Datenbankabfrage gibt NULL aus? Datenbankprogrammierung 4
D ResultSet gibt nichts aus. Datenbankprogrammierung 3
B MySql DELETE Anweisung gibt Fehler zurück Datenbankprogrammierung 7
F MySQL gibt nur null zurück Datenbankprogrammierung 3
E gibt es was schnelleres als Like Datenbankprogrammierung 5

Ähnliche Java Themen


Oben