我正在尝试将数组中的批处理数据插入到我的移动项目的 Sqlite3 中。
我的代码似乎工作正常,但它并没有插入所有数据。
PS:我编辑了我的代码:
-(BOOL) saveBatchData:(NSArray *)userSourceID userDestID:(NSArray *)userDestID message:(NSArray *)message sentDate:(NSArray *)sentDate
{
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &database) == SQLITE_OK)
{
for(int i=0; i<[message count]; i++)
{
NSString *insertSQL = [NSString stringWithFormat:@"insert into messages (userSourceID,userDestID, message, sentDate) values (\"%d\",\"%d\", \"%@\",\"%@\")",[[userSourceID objectAtIndex:i] integerValue],[[userDestID objectAtIndex:i] intValue], [message objectAtIndex:i],[sentDate objectAtIndex:i]];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(database, insert_stmt,-1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE)
{
sqlite3_finalize(statement);
return YES;
} else {
NSLog(@"Hata = %s",sqlite3_errmsg(database));
return NO;
}
sqlite3_reset(statement);
}
sqlite3_close(database);
}
return NO;
}
输出似乎是,函数只是在数组的 39 个元素上添加了几行(我认为是 4)。有人可以帮我这里有什么错误吗?
问候...