Hallo
ich hoffe hier kann mir jemand helfen, alle Suchen haben mir bis jetzt noch nicht so viel gebracht.
Situation ist folgene:
Ich habe eine GUI mit Eclipse und jigloo erstellt. Dazu eine MySQL Filmdatenbank anbindung.
Über das GUI lassen sich halt Filme in die Datenbank mit gewisen werten eintragen. Das klappt alles wunderbar auch Filme zu aktualisieren.
Mein Problem ist jetzt die Filmsuche. Ich habe einen Button der ein JOptionPane mit InputDialog öffnet wo man halt ein Film Titel eingeben kann.
Das ganze klappt auch also wenn ich jetzt z.B. den Film "300" eingebe füllt er die Felder dementsprechend aus. Nun will ich aber, dass wenn es mehrere Filme unter gleichen Namen gibt er mir, bevor er mir die Felder ausfüllt, eine Auswahlliste mit allen gefundenen Filmen anzeigt, also z.B. wenn man Spiderman eingibt, die erste Spiderman Trilogie und die neuen Amazing Spiderman Filme, davon einen dann auswählen kann und er mir mit den entsprechenden Werten die Felder füllt.
Also das ist der Button bis dahin:
Der auskommentierte Teil war nur ein Ansatz den ich schon versucht hatte, da lief aber nichts. Ich dachte ich müsste den ResultSet in eine Arrayliste speichern und dann irgendwie wieder in eine Auswahlliste ausgeben. Aber ich verlier da irgendwie den Überblick.
Ich hoffe mir kann hier jemand helfen.
Danke
ich hoffe hier kann mir jemand helfen, alle Suchen haben mir bis jetzt noch nicht so viel gebracht.
Situation ist folgene:
Ich habe eine GUI mit Eclipse und jigloo erstellt. Dazu eine MySQL Filmdatenbank anbindung.
Über das GUI lassen sich halt Filme in die Datenbank mit gewisen werten eintragen. Das klappt alles wunderbar auch Filme zu aktualisieren.
Mein Problem ist jetzt die Filmsuche. Ich habe einen Button der ein JOptionPane mit InputDialog öffnet wo man halt ein Film Titel eingeben kann.
Das ganze klappt auch also wenn ich jetzt z.B. den Film "300" eingebe füllt er die Felder dementsprechend aus. Nun will ich aber, dass wenn es mehrere Filme unter gleichen Namen gibt er mir, bevor er mir die Felder ausfüllt, eine Auswahlliste mit allen gefundenen Filmen anzeigt, also z.B. wenn man Spiderman eingibt, die erste Spiderman Trilogie und die neuen Amazing Spiderman Filme, davon einen dann auswählen kann und er mir mit den entsprechenden Werten die Felder füllt.
Also das ist der Button bis dahin:
Java:
private void btSuchenActionPerformed(ActionEvent evt) {
String strEingabe = JOptionPane.showInputDialog(null,"Geben Sie ein Titel ein",
"Film nach Titel suchen",
JOptionPane.PLAIN_MESSAGE);
if (strEingabe.length()==0)
{
opMeldung.showMessageDialog(null, "Bitte füllen Sie die Felder aus!");
return;
}
String sql = "select * from filme where Titel like '%" + strEingabe + "%';";
DB=new DBManagement("filmdatenbank", "", "");
try {
DB.doVerbinden();
DB.doAbfrage(sql);
ResultSet rs = DB.getResult();
// i = 0;
//while überprüft mehrere Datensätze, if nur einen
while (rs.next())
{
/*String send = rs.getString(i);
String[] choices = { send };
String input = (String) JOptionPane.showInputDialog(null, "Choose now...",
"The Choice of a Lifetime", JOptionPane.QUESTION_MESSAGE, null, // Use
// default
// icon
choices, // Array of choices
choices[1]); // Initial choice
*/
tfID.setText(rs.getString("ID"));
tfFilmtitel.setText(rs.getString("Titel"));
tfOT.setText(rs.getString("OT"));
tfRegieseur.setText(rs.getString("Regieseur"));
tfBesetzung.setText(rs.getString("Besetzung"));
tfProduktion.setText(rs.getString("Produktionsland"));
tfJahr.setText(rs.getString("Jahr"));
cbFSK.setSelectedItem(rs.getString("FSK"));
tfLeange.setText(rs.getString("Laufzeit"));
cbGenre.setSelectedItem(rs.getString("Genre"));
tfIMDB.setText(rs.getString("IMDb"));
cbMedium.setSelectedItem(rs.getString("Medium"));
tfBildURL.setText(rs.getString("Bild"));
}
try {
laBild.setIcon(new ImageIcon(new URL(tfBildURL.getText())));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DB.doSchliessen();
}
catch (ClassNotFoundException e) {
opMeldung.showMessageDialog(null, "Verbindung fehlgeschlagen. \nFehler: " +e );
e.printStackTrace();
}
catch (SQLException e)
{
opMeldung.showMessageDialog(null, "Fehler" + e);
}
}
Der auskommentierte Teil war nur ein Ansatz den ich schon versucht hatte, da lief aber nichts. Ich dachte ich müsste den ResultSet in eine Arrayliste speichern und dann irgendwie wieder in eine Auswahlliste ausgeben. Aber ich verlier da irgendwie den Überblick.
Ich hoffe mir kann hier jemand helfen.
Danke