# Wie auf SQL-Spalte mit mehrdimensionalen Arrays zugreifen?



## minos5000 (13. Dez 2007)

Hi,

in meiner DB besteht eine Spalte aus zweidimensionalen Arrays und ich möchte in einer Schleife diese Daten einem Java-Array zuweisen.

Mein Code sieht folgendermaßen aus...

```
private void getKnots() {
        int[][] neighbours;
        ResultSet arraySet;
        try {
            rs = stmt.executeQuery(getKnots);
            while(rs.next()) {
                knotNumber = rs.getInt(1);
                arraySet = rs.getArray(2).getResultSet();
            }
        }catch(SQLException e) {
            System.out.println(e);
        }
    }
```
... und mein Problem ist, daß ich nur weiß, wie man über ein ResultSet an eindimensionale Arraydaten kommt. Ein Beispiel für einen Zugriff auf die 2. Dimension hab ich bisher nicht gefunden.

Ich hoffe, irgendjmd hier im Forum weiß in dem Fall mehr als ich  :wink: 



Ciao,
minos


----------



## ARadauer (13. Dez 2007)

> DB besteht eine Spalte aus zweidimensionalen Arrays



wusste gar nicht, dass sowas geht. welche db und wie sieht das create statement der tablle aus?


----------



## FenchelT (13. Dez 2007)

ARadauer hat gesagt.:
			
		

> > DB besteht eine Spalte aus zweidimensionalen Arrays
> 
> 
> 
> wusste gar nicht, dass sowas geht. welche db und wie sieht das create statement der tablle aus?



Da bin ich auch mal gespannt  :wink: 
Evtl. koennen Objekt-relationmale DBMS soetwas?! Er wird es uns sagen.


----------



## minos5000 (13. Dez 2007)

Als DB verwende ich PostgreSQL. Aber mich würde wundern, wenn das in den anderen großen DBs nicht auch geht.

Eine Tabelle erzeugt man mit:


```
create table knots(
  id int4 not null primary key,
  parent1 varchar(15),
  parent2 varchar(15),
  neighbours varchar[][]
);
```


Und gefüllt werden kann die z.B. so:

```
insert into knots(id, neighbours) values('002', array[['001', '003'], ['2.83', '8.0']]);
```


----------



## maki (13. Dez 2007)

Ist das eigentlich eine Normalform? 

Fast schon wie 'ne Tabelle in einer Tabelle..
Eigentlich sollten dafür 2 Tabellen verwendet werden, imho.


----------



## minos5000 (13. Dez 2007)

Ich habs jetzt mit einer 2. Tabelle gemacht. Keine Ahnung, ob das mit Java geht wie ich's ursprünglich wollte oder nicht, aber ich hab nicht die Zeit, ewig danach zu suchen.


----------

