kimla Skrevet 24. april 2006 Skrevet 24. april 2006 (endret) Hei. Bruker standard C API til Mysql, og prøver å hente ut data fra en viss rad. Har en tabell som heter Klasserom: har 2 kolonner: KlasseID og Klasse_navn. Hvis jeg kjører en spørring som dette: "SELECT * FROM Klasserom" Er det en måte jeg kan få frem verdien til Klasse_navn og ikke både KlasseID og Klasse_navn? Kode: while(( row = mysql_fetch_row( db_GetKlasserom->get_res_set() )) != NULL) { for(i = 0; i < mysql_num_rows( db_GetKlasserom->get_res_set() ); i++ ) { Klasser->Insert( _T( row[i] ), 0 ); } } Med dette så blir også KlasseID satt inn. Jeg kan altids kjøre: "SELECT Klasse_navn FROM Klasserom", men vil gjerne ha ID'en også, og bare vise Klasse_navn. Hvis noen skjønte dette så håper jeg på svar, vet det var litt dårlig forklart.. =/ Takker uansett for svar jeg får EDIT: Og ikke bry dere om Klasser->Insert( _T( row[i] ), 0 ); Det er bare hvordan jeg setter den inn med wxWidgets, kunne like gjerne vært cout << row; Endret 24. april 2006 av kimla
Peter Skrevet 24. april 2006 Skrevet 24. april 2006 (endret) mysql_fetch_row() returnerner MYSQL_ROW, som bare er char** Dersom det du sier stemmer, at du har KlasseID og klasse_navn, burde denne funke. da id = row[0] mens navn = row[1] while(row = mysql_fetch_row(...)) { Klasser->Insert(_T(row[1]),0); } Personlig ville jeg nok laget en wrapper som brukte assosiativt array Merk: Du burde selvfølgelig sjekke at row[1] eksisterer, evt. bruke legge raden inn i en vector. Endret 24. april 2006 av Nazgul
kimla Skrevet 24. april 2006 Forfatter Skrevet 24. april 2006 (endret) mysql_fetch_row() returnerner MYSQL_ROW, som bare er char**Dersom det du sier stemmer, at du har KlasseID og klasse_navn, burde denne funke. da id = row[0] mens navn = row[1] while(row = mysql_fetch_row(...)) { Klasser->Insert(_T(row[1]),0); } Personlig ville jeg nok laget en wrapper som brukte assosiativt array 5977917[/snapback] Her har vi mannen som kan tingene sine.. Nå kom alt trippelt opp, men burde vel klare å løse det selv Takk for svar! Endret 24. april 2006 av kimla
kimla Skrevet 24. april 2006 Forfatter Skrevet 24. april 2006 (endret) Løste det, bare å fjerne for-loopen for de som lurte while(( row = mysql_fetch_row( db_GetKlasserom->get_res_set() )) != NULL ) { Klasser->Insert( _T( row[1] ), 0 ); } Endret 24. april 2006 av kimla
Peter Skrevet 24. april 2006 Skrevet 24. april 2006 (endret) Hva slags løsning ønsker du? Det der er antakelig helt standard løsning. Som sagt, en annen mulighet er å lage en klasse som lageer et assosiativt array. Og som nevnt, sjekk at row[1] faktisk eksisterer. forresten, det å sjekke for NULL er unødvendig. Skader selvsagt ingen at det er der, men om du ser på koden jeg lagde over, så fungerer den akkurat likt. NULL == 0 == false Endret 24. april 2006 av Nazgul
kimla Skrevet 24. april 2006 Forfatter Skrevet 24. april 2006 Hva slags løsning ønsker du?Det der er antakelig helt standard løsning. Som sagt, en annen mulighet er å lage en klasse som lageer et assosiativt array. Og som nevnt, sjekk at row[1] faktisk eksisterer. forresten, det å sjekke for NULL er unødvendig. Skader selvsagt ingen at det er der, men om du ser på koden jeg lagde over, så fungerer den akkurat likt. NULL == 0 == false 5978063[/snapback] Aff, glemte å fjerne den siste teksten der, den var der bare fra et innlegg jeg holdte på å skrive når jeg hadde en annen løsning som ikke fungerte så bra, sorry
kimla Skrevet 24. april 2006 Forfatter Skrevet 24. april 2006 Er nok ikke dumt med den klassen du nevner forresten, men har rett og slett ikke kunnskap nok enda til å gjøre det, ser på for det meste på dette som trening. Sant det med NULL'en, ser litt enklere ut når det ikke er noe der (iom. at jeg har drevet med PHP og MySQL mye mer enn C++ og MySQL så er det litt lettere å se på..)
DarkSlayer Skrevet 2. mai 2006 Skrevet 2. mai 2006 mulig eg feiler litt .... "assosiativt array" .... er ikke det stl sin map? Unødvendig å lage den mener nå jeg, med mindre man ønsker å lære hva det er seff. assosiativt array er forsåvidt det hippe navnet på arrayen som er implementert i php ... som er en map... anyway ... mulig eg surrer... sent
Peter Skrevet 3. mai 2006 Skrevet 3. mai 2006 mulig eg feiler litt .... "assosiativt array" .... er ikke det stl sin map? Unødvendig å lage den mener nå jeg, med mindre man ønsker å lære hva det er seff. assosiativt array er forsåvidt det hippe navnet på arrayen som er implementert i php ... som er en map... anyway ... mulig eg surrer... sent 6031842[/snapback] Stemmer det. Jeg synes det er veldig greit å bruke, da du kan referere til kolonner minrad["kunder"] istedet for å bruke tall, men du kan bruke tall om du vil
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå