Auslesen mehrer Werte aus einer Tabelle mithilfe von Java

EuLe | Fabi

Benutzer
Beiträge
10
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
 
Werbung:
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);

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.
 
Zurück
Oben