Avatar billede kezzelski Nybegynder
20. november 2002 - 09:05 Der er 3 kommentarer

postgreSQL problem med int2vector

Jeg har et problem med int2vector i en java tilgang til en postgreSQL database. Så vidt jeg kan se i java.sql.ResultSet findes der ingen functioner til at få en vector ud af et resultset! Jeg har prøvet at hive den ud som et object, men den kommer med en sql fejl om at den ikke kan finde en passende klasse.

Hvis du enten kender en løsning på mit problem eller kender en anden måde end int2vector til at lave et ukendt antal af int's i en row, så skriv tilbage :-)
Avatar billede arne_v Ekspert
20. november 2002 - 09:19 #1
Nu ved jeg ikke hvad int2vector er.

Men det er en grundsætning for relationelle databaser,
at alle felter er atomiske.

Derfor kan det ikke overraske, at der ikke
er en rs.getVector !
Avatar billede disky Nybegynder
20. november 2002 - 09:20 #2
Dit resultset object hedder 'res' siger vi

Vector vect=new Vector();
while(res.next())
{
  vect.append(res.getString("Navn"));
}

I mit eksempel går jeg ud fra du har hentet et felt fra databasen der hedder 'Navn' nu indeholder vectoren alle de navne som blev hentet fra databasen.

Du er nød til selv at lave denne konvertering, da Resultsettet jo ikke rigtigt kan vide hvordan du ønsker data gemt i din vector.

p.s. Brug ArrayList hvis det ikke er et krav at det er syncronized, ArrayList performer bedre.
Avatar billede kezzelski Nybegynder
20. november 2002 - 14:26 #3
Felter skal kun være atomiske i en flad database! postgreSQL har et par ekstra features der efterligner noget mere objectoriented.

Mit problem er at den basale java.sql pakke ikke er bygget til at håndtere dette.

Jeg har dog fundet en midlertidig løsning ved at bruge int[]. Så vidt jeg kan se kræver det dog at man lader databasen håndtere array'et og dynamiske laver sql efter hvor langt array'et er.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester