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.已編輯我的代碼。 –