Gå til innhold

Anbefalte innlegg

Noen som har jobbet mye med vectorer???

 

Jeg har et problem som håper noen kan hjelpe meg med:

 

Jeg skal løse en oppgave hvor man skal hente ut data fra 2 eller flere tabeller, men de ligger også i hver sin database. (dvs jeg har 4 ulike databaser med en tabell hver - oppgaven er formulert sånn). Så skal jeg gjøre en natural join på de tabellene som ønskes joinet. Bruker taster inn i dos vinduet hvilke tabeller seom ønskes joinet. Jeg legger resultsettet inn i en vector i og har en metode som returnerer denne vectoren (med resultsetet). Men siden man kan joine flere tabeller, har jeg også en vector hvor jeg legger inn de vectorene som representerer resultsettet. Å skrive ut vectoren med resultsettet går bra, men da jeg skal skrive ut vectoren som inneholder vectorer med resultset får jeg problemer. Fordi vectoren med resultsettet blir lagt inn som et element i den nye vectoren, så da jeg skriver ut:

 

System.out.println(join_tabs.elementAt(j));

 

skriver jeg ut hele vectoren (med rsultsettet), men jeg vil bare ha ut en og en rad, for jeg må også joine denne tabellen med en eller flere andre tabeller.

 

Er det noen som skjønner hva jeg mener å spørre om? Noen som vet hvordan man løser dette? Eller noen som har andre forslag på å løse dette på? Jeg må putte resultsettet inn i en vector og liste det ut fra denne, og ikke bare rett fra resultsettet. En annen ting er at vi skal ikke bruke noe GUI-stasj kun jobbe i dos vinduet...

 

Tom

Lenke til kommentar
Videoannonse
Annonse

Hei,

 

Ser ut som om du må ha en dobbel løkke. Grunnen til dette er fordi det er en vektor i hver rad i den ytre vektoren.

 

Eks:

 

for(int i=0; i<vector.size(); i++){

for(int j=0; j<vector.elementAt(i).size(); j++){

System.out.println("element inner vector: " + vector.elementAt(i).elementAt(j));

}

}

 

Har ikke testet dette, men håper det hjelper. Du kan også bruke .get(i) som i ArrayList.

Lenke til kommentar

Takk for den!!!

 

Da får jeg skrevet ut det som ligger i vektorene.

 

Men da har jeg et lite spm til. Siden det dreier seg om 2 eller flere tabeller jeg skal gjøre en natural join på, vet noen hvordan man gjør det? For det koden min nå gjør er å select*from tabelnavn som bruker oppgir. Men det skjer ingen join, men jeg skriver ut tabellene i den rekkefølgen de er skrevet inn. Hadde vært utrolig flott om noen kunne hjelpe meg med å få til denne joinen også!

 

På forhånd takk

 

Tom

Lenke til kommentar

Hei igjen.

 

Hvis du skal bruke natural join kommer det jo litt ann på hvilken database du bruker. De har forskjellig syntax og forskjellige måter å gjøre det på. I Oracle kan man gjøre slik:

 

SELECT <column_name>, <column_name>

FROM <table_name alias> NATURAL JOIN <table_name alias>

 

For MySQL kan du sjekke denne linken: http://dev.mysql.com/doc/mysql/en/join.html

 

Håper det hjalp.

Lenke til kommentar

Vi bruker access...

 

Og jeg sliter litt med å få logikken til å stemme. Kan jeg bruke de rseultsetene jeg har fått av databasen eller må jeg lage et nytt resultset? Og hvordan kan jeg i tilfelle gjøre det da jeg må åpne ulike databse koblinger...

 

Mulig jeg gjør det veldig klønete og komplisert for meg selv, men...

 

(Har lagt ut kode i tråden: Gjorere join på 2 eller flere vectorer)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...