Voor de iPhone ben ik met een hobbyprojectje bezig, en nu heb ik daar een sqlite database bij nodig. Daarvoor heb ik de volgende structuur in de database gemaakt:

Er zitten twee rijen in de database:

Heel erg simpel dus.
Nu als ik de select query uitvoer, krijg ik ook twee rijen en twee kolommen terug. Maar de waarde van de tweede kolom komt altijd op null uit?
Als ik de volgende code heb:
Dan is dit de output:
Weet iemand waar dit aan ligt.

Er zitten twee rijen in de database:

Heel erg simpel dus.
Nu als ik de select query uitvoer, krijg ik ook twee rijen en twee kolommen terug. Maar de waarde van de tweede kolom komt altijd op null uit?
Als ik de volgende code heb:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| //Statement const char *sql = "SELECT `id`, `name` FROM testaments ORDER BY `id`"; sqlite3_stmt *selectStatement; //Execute statement int returnValue = sqlite3_prepare_v2(database, sql, -1, &selectStatement, NULL); if(returnValue == SQLITE_OK) { while(sqlite3_step(selectStatement) == SQLITE_ROW) { //While there are rows //ID collumn NSLog(@"ID of row: %i", sqlite3_column_int(selectStatement, 0)); //Name collumn //Name of collumn NSLog(@"Name of collumns in row: %@", [NSString stringWithUTF8String:(char *) sqlite3_column_name(selectStatement, 1)]); //Contents of collumn 'name' char *pointer = (void *)sqlite3_column_int(selectStatement, 1); if (pointer == NULL) NSLog(@"Contents of row 'name': NULL"); else { NSLog(@"Contents or row 'name': %@", [NSString stringWithUTF8String:pointer]); } } } |
Dan is dit de output:
Ik krijg van de kolom 'id' dus wel het juiste veld-waarde terug, ook is de kolom 'name' aanwezig, maar daarvan krijg ik niet de juiste waarde terug? (Altijd null).2010-03-03 13:19:07.002 Bijbel[2354:207] ID of row: 1
2010-03-03 13:19:07.003 Bijbel[2354:207] Name of collumns in row: name
2010-03-03 13:19:07.004 Bijbel[2354:207] Contents of row 'name': NULL
2010-03-03 13:19:07.005 Bijbel[2354:207] ID of row: 2
2010-03-03 13:19:07.005 Bijbel[2354:207] Name of collumns in row: name
2010-03-03 13:19:07.006 Bijbel[2354:207] Contents of row 'name': NULL
2010-03-03 13:19:07.006 Bijbel[2354:207] Number of testaments: 0
Weet iemand waar dit aan ligt.
[ Voor 5% gewijzigd door ZpAz op 03-03-2010 13:23 . Reden: Select statement toegevoegd, wel zo makkelijk ]