c++ sqlite pointer-to-pointer-to-String

Baileysss

Grünschnabel
Hallo Community!

Ich arbeite mit C++, Dark GDK, SQLite3 und Microsoft Visual C++ 2008 und habe eine Datenbank erstellt die auch wunderbar funktioniert. Nun würde ich gerne einen Wert aus der Datenbank auslesen und diesen in einer Variablen speichern. Die Anfrage funktioniert problemlos, nur wenn den Wert der Anfrage in einer Variablen speichern möchte, dann erhalte ich immer die Speicheradresse oder das erste ASCII Zeichen.

Hier die Callback Funktion:

Code:
static int callback(void *pArg, int argc, char **argv, char **azColName)
{
printf("Callback aufgerufen!\n");
int i;  

for(i=0; i<argc; i++)
{
    printf(azColName[i]);
    printf(" = ");
    if(argv[i]){
        printf(argv[i]);
        //unsigned int x = argv[i];
    }

    else
        printf("NULL");
        printf("\n");
 }
printf("\n");
return 0;
}

Und hier mein Versuch ohne der Callback Funktion. Auch hier erhalte ich "nur" die Speicheradresse.

Code:
while (sqlite3_step(stmt) == SQLITE_ROW) 
{
    printf("%s\n", sqlite3_column_text(stmt, 0));
    //const unsigned char *c = sqlite3_column_text(stmt, 0);
    printf("%u\n", sqlite3_column_int(stmt, 0));
    //unsigned int z = *sqlite3_column_int(stmt, 0);

stmt_count++;
}

Ist es vielleicht gar nicht möglich mit einer Copie dieses Wertes weiter zu arbeiten?
 
Hi.

Die Funktion sqlite3_column_int gibt direkt einen Integer zurück. Du darfst also dort nicht Dereferenzieren - der Compiler sollte dich warnen!

Gruß
 
Hallo,
das verstehe ich nicht... wahrscheinlich warnt der Compiler mich auch, aber ich brauche den Wert trotzdem in einer Variablen...
Viele Grüße! :)
 
Na das geht eben nicht. Ich erhalte den Wert: 1244928 und das ist überhaupt nicht der gewünschte oder erwartete Wert! :(
Viele Grüße.
 
Die Zeile:
Code:
printf("%s\n", sqlite3_column_text(stmt, 0));
gibt mir aber den gewünschten Wert aus (und damit meine ich den Wert 100 und nicht den oben genannten). Und genau das würde ich jetzt gerne in einer (integer) Variable speichern.
 
Zurück