Ios SQLite途径

Ios SQLite途径,ios,sqlite,select,Ios,Sqlite,Select,我正在尝试使用以下代码访问SQLite中的表: fileMgr = [NSFileManager defaultManager]; NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"movieData.sqlite"]; if(sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK)

我正在尝试使用以下代码访问SQLite中的表:

fileMgr = [NSFileManager defaultManager];
    NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"movieData.sqlite"];

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

        const char *sql = "SELECT movieName FROM myMovies";
        sqlite3_stmt *sqlStatement;
        if(sqlite3_prepare(db, sql, -1, &sqlStatement, NULL) != SQLITE_OK)
        {
            NSLog(@"Problem with prepare statement");
        }
我的输出是“prepare语句有问题”。我非常确定我的表名和*sql中的其他内容。但还是不行。有什么想法吗,伙计们

添加

BOOL success = [fileMgr fileExistsAtPath:dbPath];
    if(!success)
    {
        NSLog(@"Cannot locate database file '%@'.", dbPath);
    }
    if(!(sqlite3_open([dbPath UTF8String], &db) == SQLITE_OK))
    {
        NSLog(@"An error has occured.");
    } 

就在
contchar*sql
之前,它现在正在工作:)

sqlite3\u open()
中,您传递
和数据库
,但是,在
sqlite3\u prepare()
中,您传递
和db
。这是打字错误,还是你只是在写伪代码?此外,您是否已将数据库文件复制到应用程序包中?此外,您应该真正使用
sqlite3\u prepare\u v2()
,如果没有任何效果,您可以尝试我的解决方案,干杯,伙计