MySQL Tabelle ID abfragen und Spalte ausgeben

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:
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:

MR_UNIX

Bekanntes Mitglied
Wenn du 'hilfe' zu einer Membervariablen deiner Klasse machst, die auch den ActionListener implementiert, kommst du natürlich ran. Mehr Code wäre schon hilfreich und was du nun genau von uns willst.
 
ich hatte doch geschrieben, wo ich hilfe brauchte? ich wusste nicht, wie ich die Select abfrage da mit einbaue, wenn ich nur eine Spalte mit der vorher eingegebenen Id ausgegeben bekommen möchte.
aber ist schon gut. habs selbst hinbekommen.

hier der entsprechende Code:
Java:
try {
										Vector<String> columnNames = new Vector<String>();
										Vector<Vector<Object>> RowData = new Vector<Vector<Object>>();
										JTable tab;
										int help = Integer.parseInt(tfein.getText());
										String sql = ("SELECT * FROM testkunde WHERE id = "+ help);
										res = stat.executeQuery(sql);
										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);
											}
							
										tab = new JTable(RowData, columnNames);
										tab.setEnabled(true);
										panel.add(tab);
									} catch (Exception p) {
										p.printStackTrace();
									}
 

turtle

Top Contributor
Die Daten, die in einer JTable angezeigt werden, sind in einem TableModel gespeichert.

Darüber kannst du iterieren und mit getValueAt(int row, int column) bis du deinen Datensatz findest. Dann kannst du mit dem Datensatz machen, was du möchtest. beispielsweise in der Tabelle selektieren mit setRowSelectionInterval(int index0, int index1)

Deine Vorstellung nach einer Eingabe sofort wieder auf die DB zuzugreifen, um darin zu suchen, rate ich DRINGEND von ab, denn dies ist ein Kandidat für schlechte Performance erster Güte.

Du solltest JEDEN Roundtrip zur DB vermeiden, wenn das möglich ist! Denn ein Hit der DB bei dir lokal, wenige Daten in Tabelle mag noch gehen, ist aber katastrophal bei mehreren Hundert Benutzern und Millionen Einträgen in Tabelle.
Üblichweise werden derart grosse Bestände "paginiert", also nur eine kleine Anzahl (~100) angezeigt und der Benutzer kann auf die weiteren Seiten gehen, wenn er denn mehr sehen möchte.
 

ceving

Aktives Mitglied
Ich weiß, dass man das mit "SELECT * FROM testkunde WHERE id =" + hilfe macht

Dann weisst du mehr als ich.

Ich weiss, dass jedes mal irgendwo eine kleine süße niedliche Katze stirbt, wenn jemand Variablenwerte in SQL-Statements mit Hilfe des +-Operators einfügt!
[WR]Tu das nicht![/WR]

Benutze statt dessen Prepared Statements.

Du produzierst riesige Sicherheitslöcher, wenn du keine Prepared Statements verwendest.

Und denke immer an die kleinen süßen niedlichen Katzen. ;-)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius MySQL Tabelle splitten aber wie eine abfragen? Datenbankprogrammierung 10
I Tabelle mit "|" getrennten Werten -> einzelnen Wert davon abfragen Datenbankprogrammierung 15
turmaline [Hibernate] @OneToMany - Eine referenzierte Tabelle abfragen Datenbankprogrammierung 11
trash SQL, ganze Tabelle abfragen Datenbankprogrammierung 3
MQue größte id in einer Tabelle abfragen Datenbankprogrammierung 4
S Datentypen einer Tabelle Abfragen? Datenbankprogrammierung 2
D Ich möchte dass ich nachdem man den Kommentar geschrieben hat den Kommentar in den Tabelle Bestellübersicht geschbeichert wird klappt nicht bei mir Datenbankprogrammierung 2
D Tabelle an Persistenzeinheit binden Datenbankprogrammierung 1
T Datenbank: Tabelle erstellen bei Web-Applikation Datenbankprogrammierung 4
S gesamte Tabelle löschen Datenbankprogrammierung 2
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
N Oracle SQL - Nächst kleineren Namen2 zu einem Namen aus einer Tabelle Datenbankprogrammierung 3
Kirby.exe Eine Tabelle updaten Datenbankprogrammierung 16
L SQL Tabelle Datenbankprogrammierung 11
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
L SQL Datenbank Tabelle erstellen Datenbankprogrammierung 6
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
J Oracle Datenbank-Tabelle per Combobox (oder ähnliches) auswählen Datenbankprogrammierung 3
P Derby/JavaDB Datenbanktabelle erweitern, ohne Tabelle zu ändern Datenbankprogrammierung 6
B Datenmodell für Regeln + Bedingungen & Referenz auf andere Tabelle Datenbankprogrammierung 12
S FilterSearch Tabelle Datenbankprogrammierung 4
J Aufbau meiner Datenbank/Tabelle - Verbessern? So lassen? Datenbankprogrammierung 39
Dimax MySQL 10 höchsten Werte aus einer Tabelle ermitteln Datenbankprogrammierung 30
L Java- Zähle alle Werte aus der Tabelle von aktiver Zelle Datenbankprogrammierung 12
B Tabelle für "wiederkehrende Rechnungen" Datenbankprogrammierung 12
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
D MySQL Suche nach Max Value in einer Tabelle Datenbankprogrammierung 7
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
N Dynamische Tabelle Datenbankprogrammierung 84
T Zeitraum aus SQL-Tabelle Datenbankprogrammierung 3
V SQLite 2 Tabelle vergleichen und alle unterschiede rausgeben Datenbankprogrammierung 1
D UCanAccess / MS Access - Tabelle / Spalte vorhanden Datenbankprogrammierung 3
M MySQL wie Listen oder arras in Tabelle(n) schreiben Datenbankprogrammierung 10
Paul15 Tabelle vergleichen Datenbankprogrammierung 15
J Tabelle synchronisieren mit Datenbank Datenbankprogrammierung 7
E Wie kann man bestimmte Zeilen der Tabelle rot markieren? Datenbankprogrammierung 1
L Tabelle mit Inhalt füllen Datenbankprogrammierung 2
J Optimierung von Querys/ ausgegebene Tabelle mit in neue Anfrage einbinden Datenbankprogrammierung 2
M Derby/JavaDB Kleine DB mit Tabelle erweitern - Integrität - Alter-Table - Netbeans ... Datenbankprogrammierung 5
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
S Update Tabelle aus Textfeld Datenbankprogrammierung 2
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
E Nur der letzte Datensatz wird in Tabelle geschrieben Datenbankprogrammierung 4
B Nur 99% der Datensätze werden in Tabelle geschrieben Datenbankprogrammierung 2
Joew0815 Datenmerge große Tabelle Datenbankprogrammierung 16
R MySQL Blob aus DB auslesen und einer Tabelle ausgeben Datenbankprogrammierung 7
P Neue Tabelle dazugekommen Datenbankprogrammierung 1
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
J Normalisierung - Aufspaltung der Tabelle Datenbankprogrammierung 4
V HSQLDB Insert in eine Tabelle mit Autoincrement Datenbankprogrammierung 2
S Wie muss meine SQL Tabelle aufgebaut sein, um unendliche Attribute zu vermeiden Datenbankprogrammierung 2
R HSQLDB Tabelle in JTable übertragen Datenbankprogrammierung 3
S MySQL Einfügen in Tabelle nur von Programm zulassen Datenbankprogrammierung 7
S Oracle Database 11g , eclipse , Tabelle erstellen Datenbankprogrammierung 2
L MySQL Uhrzeit-Format innerhalb einer Tabelle Datenbankprogrammierung 8
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
M Designfrage zu Rows die sich auf einen Datensatz derselben Tabelle beziehen Datenbankprogrammierung 7
N Temporäre tabelle MySQL Datenbankprogrammierung 2
X MySQL Hibernate: Massenupdate auf unbekannte Tabelle Datenbankprogrammierung 4
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Rudolf MySQL MySQL Tabelle mit Fremdschlüsseln in JTable darstellen Datenbankprogrammierung 5
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D JPA (Hibernate) : Tabelle zweimal joinen Datenbankprogrammierung 4
G Oracle Hibernate M:N-Beziehung mit nur einer vorhandenen Tabelle Datenbankprogrammierung 5
N [XLS]Strings in Excel-Tabelle schreiben (poi) Datenbankprogrammierung 2
M DB View in Tabelle konvertieren in DB2? Datenbankprogrammierung 2
N Einzelne Spalte in MySQL-DB-Tabelle schreiben Datenbankprogrammierung 7
D Probleme bei der Erzeugung einer Tabelle Datenbankprogrammierung 15
I Derby/JavaDB Problem mit Befüllung von Tabelle Datenbankprogrammierung 7
H MySQL Tabelle "Table" programmieren Datenbankprogrammierung 2
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
A Wie Tabelle auf bestimmten Inhalt überprüfen? Datenbankprogrammierung 7
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
Y Tabelle (elegant) importieren Datenbankprogrammierung 4
T Update an SQL Tabelle ?! Datenbankprogrammierung 10
F Baumstruktur erstellen und Art Tabelle festhalten!? Datenbankprogrammierung 13
S JPA: Objekt in Tabelle mit Composite Keys mappen (Embeddable Annotation) Datenbankprogrammierung 2
A Tabelle aktuell halten Datenbankprogrammierung 5
F HSQLDB HSQLDB lässt mich nicht auf erstellte Tabelle zugreifen Datenbankprogrammierung 12
Airwolf89 Spaltennamen einer Tabelle zurückgeben lassen Datenbankprogrammierung 9
J Ausgewählte Datensätze in DB-Tabelle schreiben Datenbankprogrammierung 13
J zufällige Auswahl aus einer Tabelle Datenbankprogrammierung 4
O eine Tabelle hat mehrere PrimKey mit dem selben Wert Datenbankprogrammierung 9
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
J Tabelle auslesen- knifflig Datenbankprogrammierung 7
Z [ORACLE] Ausgabe Tabelle im GUI Datenbankprogrammierung 4
S Daten einer Tabelle vergleichen und ggs neuen Wert einfügen Datenbankprogrammierung 8
R Tabelle Updaten aber auch Speichern Datenbankprogrammierung 2
D MySql Tabelle mit MySQLAdministrator (Anfänger) Datenbankprogrammierung 5
M Spaltennamen einer MS Access Tabelle ermitteln Datenbankprogrammierung 3
B Suche Query um genau einen Wert einer def. Gruppe aus einer Tabelle zu erhalten. Datenbankprogrammierung 2
C Prüfen, ob eine MySQL-Tabelle bereits existiert Datenbankprogrammierung 7
M Tabelle in Access Datei mit JDBC generieren Datenbankprogrammierung 3
G Tabelle für Zeitraum sperren Datenbankprogrammierung 4
G DB Modellierung mit variablen Attributen in der Tabelle Datenbankprogrammierung 4
S Datenbank-Tabelle in SWING/AWT ausgeben Datenbankprogrammierung 28
K Tabelle mit resultset refreshen? Datenbankprogrammierung 4
B Doppelte Zeilen einer Doppelten Spalte aus einer Tabelle entfernen. Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben