Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone sqlite3_exec!=SQLITE_OK_Iphone_Ios_Ios6 - Fatal编程技术网

Iphone sqlite3_exec!=SQLITE_OK

Iphone sqlite3_exec!=SQLITE_OK,iphone,ios,ios6,Iphone,Ios,Ios6,谁来帮帮我。 我无法将数据插入sqlite 输出为“添加新闻失败” 注: -数据库已创建。 -新闻是一个客体 我只是认为问题在于这个函数。 你能告诉我我的密码有什么问题吗? 谢谢 }试试这个 #define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1) const char *insertSql; insertSql = nil; insertSql = "INSERT INTO dBase(CONTENT_C

谁来帮帮我。 我无法将数据插入sqlite

输出为“添加新闻失败”

注: -数据库已创建。 -新闻是一个客体 我只是认为问题在于这个函数。 你能告诉我我的密码有什么问题吗? 谢谢

}试试这个

    #define SQLITE_TRANSIENT   ((sqlite3_destructor_type)-1)

    const char *insertSql;
    insertSql = nil;
    insertSql = "INSERT INTO dBase(CONTENT_CAPTION,CONTENT_DATE, CONTENT_DESK, CONTENT_ID, CONTENT_IMG, CONTENT_TYPE, CONTENT_WEB_URL) values (?,?,?,?,?,?,?)";

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

        sqlite3_bind_text(insert_statement, 1, [content_caption UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(insert_statement, 2, [content_date UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(insert_statement, 3, [content_desk UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(insert_statement, 4, [content_id UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(insert_statement, 5, [content_img UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(insert_statement, 6, [content_type UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(insert_statement, 7, [content_web_url UTF8String], -1, SQLITE_TRANSIENT);

    }

首先,您需要设置数据库的路径。你喜欢这样吗

//设置路径

  NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString  *docsDir = [dirPaths objectAtIndex:0];
   databasepath =[docsDir stringByAppendingPathComponent: @"yourDatabase"];
 NSFileManager *fn=[NSFileManager defaultManager];
 NSError *error;
 BOOL success=[fn fileExistsAtPath:databasepath];
   if(!success) {
           NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"quizdb"];
    success = [fn copyItemAtPath:defaultDBPath toPath:databasepath error:&error];
}
//接下来,您必须插入如下内容

 sqlite3_stmt *statement;
 const char *dbpath=[databasepath UTF8String];
 if(sqlite3_open(dbpath,&contactDB)==SQLITE_OK)
 {
    const char *sqlStatement = "insert into dBase(CONTENT_CAPTION,CONTENT_DATE, CONTENT_DESK, CONTENT_ID, CONTENT_IMG, CONTENT_TYPE, CONTENT_WEB_URL) VALUES (?,?,?,?,?,?,?)";
    if (sqlite3_prepare_v2(contactDB,sqlStatement,-1,&statement,NULL) == SQLITE_OK)
    {
        sqlite3_bind_text(statement, 1, [content_caption UTF8String], -1, SQLITE_TRANSIENT);      
        sqlite3_bind_text(statement, 2, [content_date UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 3 ,[content_desk UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 4, [content_id UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 5, [content_img UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 6, [content_type UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 7, [content_web_url UTF8String], -1, SQLITE_TRANSIENT);           
    }
    if (sqlite3_step(statement)!= SQLITE_DONE)
    {
        NSLog(@"Save Error:%s",sqlite3_errmsg(contactDB));
    }
    else {

        NSLog(@"success");

        sqlite3_reset(statement);
               }
            sqlite3_finalize(statement);
    }
     sqlite3_close(contactDB);

希望它能帮助您..

我打赌数据库在应用程序包中。。。谷歌“iOS无法在应用程序包中写入文件”,你会看到很多重复。你能为我提供正确的解决方案吗@H2CO3I做了-用谷歌搜索这个短语,你会看到的。帮你自己一个大忙,当你得到一个错误的返回代码时,养成注销日志的习惯。@Template09:我已经检查过了,我说这是同一类型的问题。
 sqlite3_stmt *statement;
 const char *dbpath=[databasepath UTF8String];
 if(sqlite3_open(dbpath,&contactDB)==SQLITE_OK)
 {
    const char *sqlStatement = "insert into dBase(CONTENT_CAPTION,CONTENT_DATE, CONTENT_DESK, CONTENT_ID, CONTENT_IMG, CONTENT_TYPE, CONTENT_WEB_URL) VALUES (?,?,?,?,?,?,?)";
    if (sqlite3_prepare_v2(contactDB,sqlStatement,-1,&statement,NULL) == SQLITE_OK)
    {
        sqlite3_bind_text(statement, 1, [content_caption UTF8String], -1, SQLITE_TRANSIENT);      
        sqlite3_bind_text(statement, 2, [content_date UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 3 ,[content_desk UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 4, [content_id UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 5, [content_img UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 6, [content_type UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(statement, 7, [content_web_url UTF8String], -1, SQLITE_TRANSIENT);           
    }
    if (sqlite3_step(statement)!= SQLITE_DONE)
    {
        NSLog(@"Save Error:%s",sqlite3_errmsg(contactDB));
    }
    else {

        NSLog(@"success");

        sqlite3_reset(statement);
               }
            sqlite3_finalize(statement);
    }
     sqlite3_close(contactDB);