1
我试图从数组中插入批处理数据到我的移动项目的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)。有人可以帮助我什么是我的错误在这里?
Regards ...
你救了我的命:)谢谢你的帮助:) –
还有一个问题,sqlite3_reset也在功能范围内..你的意思是把它移到for循环中? –
I.已编辑我的代码。 –