Hey Leute!
Ich habe ein Programm geschrieben, welches eine Verbindung zu MySQL herstellt und dann meine Tabelle in einem JTable ausgibt. Nun möchte ich, dass man die ID mit einem JTextfield eingeben kann, die dann mit Klick auf den Button überprüft wird und wenn diese in der Tabelle vorhanden ist, soll dann nur die Spalte mit den entsprechenden Daten ausgegeben werden. Ich weiß, dass man das mit "SELECT * FROM testkunde WHERE id =" + hilfe macht (hilfe ist in meinem Programm die Variable, die ich verwende, um den Inhalt meines JTextfields abzufragen), nur zerbreche ich mir jetzt seit Stunden den Kopf daran, wo und wie ich das jetzt einbauen soll. Habe zu dem Thema leider auch nichts wirklich brauchbares gefunden..
Ich habe mal meine Idee bei actionPerformed auskommentiert, der für den Button zuständig ist, aber da ich an die Zeile ID durch die Schleife nicht direkt dran komme, kann das schonmal so nicht funktionieren..
Ich danke schonmal für jede Hilfe!
Hier ist mal der entsprechende Codeschnipsel dafür:
Ich habe ein Programm geschrieben, welches eine Verbindung zu MySQL herstellt und dann meine Tabelle in einem JTable ausgibt. Nun möchte ich, dass man die ID mit einem JTextfield eingeben kann, die dann mit Klick auf den Button überprüft wird und wenn diese in der Tabelle vorhanden ist, soll dann nur die Spalte mit den entsprechenden Daten ausgegeben werden. Ich weiß, dass man das mit "SELECT * FROM testkunde WHERE id =" + hilfe macht (hilfe ist in meinem Programm die Variable, die ich verwende, um den Inhalt meines JTextfields abzufragen), nur zerbreche ich mir jetzt seit Stunden den Kopf daran, wo und wie ich das jetzt einbauen soll. Habe zu dem Thema leider auch nichts wirklich brauchbares gefunden..
Ich habe mal meine Idee bei actionPerformed auskommentiert, der für den Button zuständig ist, aber da ich an die Zeile ID durch die Schleife nicht direkt dran komme, kann das schonmal so nicht funktionieren..
Ich danke schonmal für jede Hilfe!
Hier ist mal der entsprechende Codeschnipsel dafür:
Java:
try {
Vector<String> columnNames = new Vector<String>();
Vector<Vector<Object>> RowData = new Vector<Vector<Object>>();
Statement stat = conn.createStatement();
ResultSet res = stat.executeQuery("SELECT * FROM testkunde");
ResultSetMetaData rsmd=res.getMetaData();
for (int i = 1; i <= 5; i++)
{
columnNames.addElement(rsmd.getColumnName(i));
}
while (res.next())
{
Vector<Object> row = new Vector<Object>(5);
for (int i = 1; i <= 5; i++)
{
row.addElement(res.getObject(i));
}
RowData.addElement(row);
}
JTable tabelle = new JTable(RowData, columnNames);
tabelle.setEnabled(true);
panel.add(tabelle);
} catch (Exception e) {
e.printStackTrace();
}
if (lbltab.getText().equals("Tabelle konnte nicht ausgegeben werden!")) {
lbltab.setText("Tabelle konnte nicht ausgegeben werden!");
} else {
lbltab.setText("Tabelle konnte eingelesen werden!");
}
@Override
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == btnOK );
{
try {
int hilfe = Integer.parseInt(tf.getText());
if (hilfe <=0) {
lbltext.setText("die ID-Eingabe darf nicht kleiner 1 sein!; ");
} else
getLbltext().setText(tf.getText());
//ResultSet res = stat.executeQuery("SELECT * FROM testkundeWHERE id = "+hilfe);
}
} catch(Exception ex) {
JOptionPane.showMessageDialog(null, "Bitte nur Integerwerte eingeben!",
null, JOptionPane.ERROR_MESSAGE);
}
}
Zuletzt bearbeitet: