Ausgabe nur bestimmter Daten

Zakon

Bekanntes Mitglied
Hallo ich Programmiere gerade mit JavaFX und SceneBuilder ein Programm zur abfrage und änderung meiner Daten in der Datenbank.
Wenn ich ein SELECT X FROM Y mache dann bekomme ich eine Fehlermeldung, dass die Datenumwandlung nich gekalppt hat.

Java:
 @FXML
    public void select(ActionEvent event) {
        Connection conn = DBConnection.getInstance().getCon();
        String auswahlEingabe = Auswahl.getText();
        String fromEingabe = Tabelle.getText();
        try {
            data = FXCollections.observableArrayList();
            ResultSet rs = conn.createStatement().executeQuery("SELECT "+ auswahlEingabe +" FROM "+ fromEingabe );
            while (rs.next()) {
                data.add(new UserDetails(rs.getInt(1),rs.getString(2), rs.getString(3), rs.getInt(4)));
            }
            rs.close();

            if (conn != null && conn.isClosed()) {
                System.out.println("Connected");
            } else {
                System.out.println("Connection lost");
            }
        } catch (SQLException s) {
            System.out.println("Error " + s);
        }

        columnMitarbeiter_ID.setCellValueFactory(new PropertyValueFactory<>("Mitarbeiter_ID"));
        columnVorname.setCellValueFactory(new PropertyValueFactory<>("Vorname"));
        columnNachname.setCellValueFactory(new PropertyValueFactory<>("Nachname"));
        columnFirmen_ID.setCellValueFactory(new PropertyValueFactory<>("Firmen_ID"));

        tableUser.setItems(null);
        tableUser.setItems(data);
    }

Ich glaube auch das der Fehler in der While schleife liegt da wenn ich zb den Vorname abfrage er zuerst über 1 geht bedeutet die Mitarbeiter_ID.
Nur ist mir nicht ganz klar wie ich das ganze so schreibe das ich nur das bekomme was ich möchte.

Danke im vorraus für eure Hilfe :)
 

Oneixee5

Top Contributor
Wenn du "SELECT X FROM Y" abfragst, dann erhältst du eine Spalte "X" aber du versuchst 4 Spalte abzufragen: rs.getInt(4). Du kannst über ResultsetMataData rausbekommen wie das ResultSet aufgebaut ist, Spaltenzahl und Typen. Datenbankverbindungen sind übrigens native Ressourcen und es ist notwendig, dass diese nach Verwendung explizit geschlossen werden.
 

Zakon

Bekanntes Mitglied
Danke für den Tipp schonmal.

Mir ist irgenwie trozdem nicht ganz klar wie ich dann die Ausgabe bzw die tabelle so asugeben lassse wie ich sie brauche 🤔
 

Oneixee5

Top Contributor
Versuch mal "select spalte1, spalte2, spalte3, spalte4 from tabellenname". Die Bezeichner musst du natürlich an deine Tabelle anpassen.
 

Zakon

Bekanntes Mitglied
Java:
void select(ActionEvent event) throws SQLException {
        Connection conn = DBConnection.getInstance().getCon();
        String auswahlEingabe = Auswahl.getText();
        String fromEingabe = Tabelle.getText();
        try{
            ResultSet rs = conn.createStatement().executeQuery("SELECT "+ auswahlEingabe + " FROM " +fromEingabe);
            ResultSetMetaData meta =rs.getMetaData();
             int nummer = 0;

             for(int i = 1; i <= meta.getColumnCount();i++){
                 System.out.println(meta.getColumnLabel(i));
                 if(meta.isSigned(i)) {
                     nummer++;
                 }
                 System.out.println("Spalten: "+meta.getColumnCount()+", Nummer: "+nummer);
                 System.out.println();
             }
        }finally {
            conn.close();
Habe das ganze jetzt so und bekomme halt aus welchen Namen die Saplten haben und wei viele es gibt.
Ich möchte ja aber rausbekommen, wenn ich z.B. dann in mein Scene Builder SELECT Name FROM Mitarbeiter eingebe, dass der mir dann auch nur die Namen ausgibt und nicht die "Eigenschaften" der Tabelle 🤔
 

mrBrown

Super-Moderator
Mitarbeiter
Als Frage vorneweg: Die Grundlagen hast du drauf, vor allem auch sowas wie Objekte und das vermeiden von static?


Wenn du die Query "im Scene Builder eingibst", dann schreib stattdessen eine Methode, die genau das zurückgibt, was du brauchst, und schreib die Query nicht irgendwo hin – und wenn der Benutzer das über die GUI eingeben soll, mach das auch.

Nur wenn das der Benutzer wirklich auf jeden Fall ohne Alternative eine Query eingeben soll: du kannst natürlich ganz normal das ResultSet nutzen, wie du es vorher auch gemacht hast. Es gibt dann halt nur einen einzigen Rückgabewert, und nicht vier, wie du in deinem Beispiel open erwartet hast. Der Nutzer macht dabei dann aber potentiell die Datenbank kaputt.
Oben gehst du einfach davon aus, dass es 4 Spalten im Ergebnis gibt, "SELECT Name FROM Mitarbeiter" gibt aber eben nur eine Spalte zurück – das wäre alles, was du dafür anpassen müsstest.
 

Zakon

Bekanntes Mitglied
Hallo danke für die Antowrten. Ich habe nicht ganz nachgedacht das Programm soll für jemanden sein der die Datenbank nicht kennt bedeutet er kann keine Querry eingeben. Deswegen mache ich das ganze jetzt mit einem DropDown Menü :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Das printen der Ausgabe des Oracle-SQL-Statements in der Java-Eclipse-Konsole funktioniert nicht Datenbankprogrammierung 6
nikgo Java SQL Ausgabe in Liste o.ä. abspeichern um mit dem Ergbnis "zu arbeiten"? Datenbankprogrammierung 5
L MySQL Vergleichen von Array-Inhalt, Ausgabe gleicher Daten Datenbankprogrammierung 3
W MySQL Ausgabe von Datenbank in Java-App Datenbankprogrammierung 6
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
F Komplexer Tabellen-Join und Ausgabe in Excel Datenbankprogrammierung 17
M Ausgabe der Rows mit höchstem Wert X einer Gruppe y,z ? Datenbankprogrammierung 2
C HSQLDB Leerzeichen in Ausgabe Datenbankprogrammierung 4
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
Z [ORACLE] Ausgabe Tabelle im GUI Datenbankprogrammierung 4
D Keine Ausgabe der Daten Datenbankprogrammierung 3
S problem mit mysql ausgabe. Datenbankprogrammierung 3
S Ausgabe von Tabellendaten auf der heimischen Konsole ;) Datenbankprogrammierung 5
G Aktualisierung Access-DB soll Ausgabe aktualisieren Datenbankprogrammierung 3
D result ausgabe in Html Tabelle Datenbankprogrammierung 10
W MySQL Daten aus bestimmter Spalte lesen Datenbankprogrammierung 2
W bestimmte Zeile mit bestimmter Spalte auslesen Datenbankprogrammierung 11
Y Hibernate - Update bestimmter Spalten Datenbankprogrammierung 2
D Alte Daten ins neue Modell quetschen Datenbankprogrammierung 6
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
B Daten HSQL-DB Datenbankprogrammierung 2
V H2 ManyToMany wie speichere ich die Daten? Datenbankprogrammierung 10
thobren Projekt SQlite! Wie kann ich auf auf SQlite Daten zugreifen? Datenbankprogrammierung 4
OnDemand Daten verschlüsseln Datenbankprogrammierung 42
L Oracle Daten in Häppchen selektieren Datenbankprogrammierung 5
L Oracle Daten von Oracle zu MSSQL übertragen Datenbankprogrammierung 4
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Kirby.exe Vorschläge zur Verschlüsselung von Daten in der DB Datenbankprogrammierung 2
T Java Spiel Daten speichern Datenbankprogrammierung 1
LimDul H2 Embedded DB und Gigabytes an Daten Datenbankprogrammierung 0
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
R Wie mit zu viele Daten umgehen? Datenbankprogrammierung 2
F MySQL Wie speichere ich Daten zeitlich abhängig? Datenbankprogrammierung 4
T Oracle Normalisierung und Daten splitten Datenbankprogrammierung 1
JG12111989 DB-Daten werden falsch dargestellt Datenbankprogrammierung 7
K H2 Daten in die H2 console DB eintragen Datenbankprogrammierung 2
L SQLite Ändern der Daten in einem UNIQUE Feld Datenbankprogrammierung 1
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
L Oracle Daten von einem Server zum andere kopieren Datenbankprogrammierung 24
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
W Daten in Java intern abfragen Datenbankprogrammierung 1
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
I MySQL Datenbankstruktur angleichen - Daten behalten Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
O mit Multi-Thread Daten aus Datenbank lesen und schreiben Datenbankprogrammierung 22
F Daten verdichten Datenbankprogrammierung 0
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
B Daten aus DB in Word Dokument Datenbankprogrammierung 2
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
D Daten posten auf RestApi (Mongodb/NoSQL) Datenbankprogrammierung 0
OnDemand MySQL Daten aktualisieren Datenbankprogrammierung 6
D Daten von einem Server in eigenem Java-Programm benutzen Datenbankprogrammierung 6
M Vergleich von Daten in verschiedenen Tabellen Datenbankprogrammierung 1
S Daten aus Form in Datenbank nur einmal eintragen Datenbankprogrammierung 2
6 JBDC Daten verschlüsseln? Datenbankprogrammierung 2
F MySQL Daten ändern über Java Datenbankprogrammierung 3
G SQLite Daten aus SQLite DB in andere SQLite DB importieren Datenbankprogrammierung 4
H Grosse Menge an Daten in eine Datenbank Datenbankprogrammierung 32
M Daten nachträglich hinzufügen Datenbankprogrammierung 6
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
E Daten einer SQL-Datenbank aus Combobox in labels schreiben Datenbankprogrammierung 6
N HSQLDB Daten Auslesen Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
P MySql daten in leeren jtable übertragen Datenbankprogrammierung 5
SexyPenny90 SQL Daten sortieren und top 5 ausgeben Datenbankprogrammierung 7
L Hibernat will Daten nicht einfügen??? Datenbankprogrammierung 2
B MySQL DB Daten aktualisieren Datenbankprogrammierung 9
D MySQL Daten werden aus Datenbank gelesen, obwohl sie dort gar nicht angekommen sind Datenbankprogrammierung 8
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D Übersichtliche Zuweisung von Daten in Tabellen Datenbankprogrammierung 17
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
J Daten synchronisieren in Multi-Client-Anwendungen (Hibernate) Datenbankprogrammierung 6
S JPA: DB Schema ändern und Daten nicht verlieren - wie? Datenbankprogrammierung 5
T MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt? Datenbankprogrammierung 4
F Daten in die DB hinzufügen Datenbankprogrammierung 7
H Klasse welche Mysql Daten zurück gibt Datenbankprogrammierung 18
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
H Daten in/aus Datenbank schreiben Datenbankprogrammierung 2
M DropDownBoxen mit MySQL Daten füllen Datenbankprogrammierung 3
E MySQL Daten in die Datenbank eingeben via Java Programm Datenbankprogrammierung 3
F ORA 17410 Keine weiteren Daten aus Socket zu lesen Datenbankprogrammierung 2
B Daten aus Datenbank holen Datenbankprogrammierung 6
T Problem beim schreiben von daten Datenbankprogrammierung 4
N Daten aus Datenbank abfragen und anzeigen in der Praxis?? Datenbankprogrammierung 2
G MySQL Bekomme keine Daten. Datenbankprogrammierung 7
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
G Daten aggregieren Datenbankprogrammierung 11
Gossi Oracle 2 Daten (Datum) vergleichen Datenbankprogrammierung 6
E MySQL Befüllen einer MySQL DB mit großen Daten Datenbankprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben