Слишком мало аргументов для sqlite3_open в XCode - PullRequest
1 голос
/ 17 сентября 2010

Эта строка кода

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

генерирует ошибку о том, что слишком мало аргументов для sqlite3_open.Сколько аргументов требуется?Как это можно исправить?

1 Ответ

3 голосов
/ 17 сентября 2010

Вы получили скобки не совсем в нужном месте - поэтому вы вызываете sqlite3_open () только с аргументом one , результатом теста «is-equal».

Это, вероятно, ближе:

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

См. Также документы для sqlite3_open () - есть три альтернативные подписи, принимающие 2 или 4 аргумента:

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 */
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...