Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Auslesen mehrer Werte aus einer Tabelle mithilfe von Java

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von EuLe | Fabi, 20 November 2016.

  1. EuLe | Fabi

    EuLe | Fabi Benutzer

    Code:
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class Suchenkundenkonto
    {
        int kontoid;
        int kundenid;
       
        public Suchenkundenkonto()
        {
        }
    
        public void testen(){
            Suchenkundenauskonto(1);
        }
    
            public Integer[] Suchenkontoauskunden(int kundenid){
            MySQLConnection mysqlConn = new MySQLConnection();
            mysqlConn.buildConnection("localhost", "3306", "bank", "root", "");
            Connection conn = mysqlConn.getConnection();
            Integer[] kontoid = new Integer[5];
            if(conn != null){
                try {
                    Statement stmt = conn.createStatement();
                    ResultSet rs = stmt.executeQuery("SELECT kontoid FROM kundenkonto where kundenid = " + kundenid);
    
                    // Ergebnissätze durchlaufen
                    while (rs.next()) {
                        kontoid[0] = rs.getInt("kontoid");
                    }
                   
                    rs.close();
                    stmt.close();
                    conn.close();
    
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
             return kontoid;
        }
    }
    
    Folgendes Problem: Ein kunde (kundenid) sind jetzt mehrere konten (kontoid) zugewiesen. Wie schaffe ich es nun dass ich alle kontoid's in einen Array ausgeben kann ohne, dass immer die gleiche kontoid eingefügt wird. Hier nochmal die MySQL-Tabelle:

    Code:
    CREATE TABLE kundenkonto (kontoid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, kundenid INTEGER);
    Vielen Dank für Eure Hilfe
     
  2. akretschmer

    akretschmer Datenbank-Guru

    In PG könntest Du

    select array_agg(kontoid), kundenid from kundenkonto where kundenid = ... group by kundenid

    sagen (untested jetzt), das liefert Dir dann alle Kontoid's aggregiert auf, in einem ARRAY (aus PG-Sicht), Du könntest das auch als Komma-Liste bekommen oder als JSON-Objekt.

    MySQL hat außer group_concat da aber nicht viel zu bieten.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden