Ciao a tutti!
Ho avuto un problema con SQLite3 per C (amalgamation version, compresa di sqlite3.h, sqlite3.c e sqlite3.def), praticamente quando cerco di creare uno statement da database aperto, mi da quest'errore:
library routine called out of sequence
Questo è il codice:
Codice PHP:
#include <stdio.h>
#include <string.h>
#include "sqlite3.h"

sqlite3 *db;

void OpenDatabase(const char *db_name){
    
char name[100];
    if(!
strstr(db_name".db")){
        
sprintf(name"%s.db"db_name);
    }
    
    
char *fname = (char *)name;
    
    
FILE *stream;
    
stream fopen(fname"r");
    
    
int rc sqlite3_open(fname, &db);
    if(
rc){
        
DieWM("sqlite.c""cannot open database.");
    }
    if(
streamSuccess("sqlite.c""Database opened successfully!\n");
    else 
Success("sqlite.c""Database created and opened successfully!\n");
}

sqlite3_stmt DatabaseQuery(const char *query, const char *INTERNALint line){
    
sqlite3_stmt stmt;
    
int prep;
    
prep sqlite3_prepare(&dbquerystrlen(query)+1, &stmtNULL);
    if(
prep != SQLITE_OK){
        
char cstring[100];
        
sprintf(cstring"%d: DatabaseQuery: %s"linesqlite3_errmsg(&db)); 
        
DieWM(INTERNAL, (char *)cstring);
    } 
    return 
stmt;
}

const 
unsigned char *GetColumnString(sqlite3_stmt stmtint column){
    const 
unsigned char *result sqlite3_column_text(stmtcolumn);
    return 
result;
}

int GetColumnInteger(sqlite3_stmt stmtint column){
    
int result sqlite3_column_int(stmtcolumn);
    return 
result;

Il database lo apre correttamente, ma la creazione dello statement non va..