2010-09-16 41 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 */ 
);