2010-09-16 138 views
1

sqlite3_open這行代碼太少參數XCode中

if (sqlite3_open(([databasePath UTF8String], &database) == SQLITE_OK) 

產生一個錯誤,指出太少參數sqlite3_open。需要多少個參數?這怎麼解決?

+0

awakeFromNib:請更準確地標記您的問題。查看我對最後兩個問題的編輯。 – 2010-09-16 23:41:51

回答

3

你的括號不是在正確的位置 - 所以你只需要調用sqlite3_open()一個參數,這是'is-equal'測試的結果。

這可能更接近的是:

if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) 

docs for sqlite3_open()見 - 有三種不同的簽名,接受2個或4 ARGS:

int sqlite3_open(
    const char *filename, /* Database filename (UTF-8) */ 
    sqlite3 **ppDb   /* OUT: SQLite db handle */ 
); 
int sqlite3_open16(
    const void *filename, /* Database filename (UTF-16) */ 
    sqlite3 **ppDb   /* OUT: SQLite db handle */ 
); 
int sqlite3_open_v2(
    const char *filename, /* Database filename (UTF-8) */ 
    sqlite3 **ppDb,   /* OUT: SQLite db handle */ 
    int flags,    /* Flags */ 
    const char *zVfs  /* Name of VFS module to use */ 
);