Привет, у меня есть функция, которая в основном пытается вставить некоторые данные, возвращаемые вызовом REST.
- (void)syncLocalDatabase{
NSString *file = [[NSBundle mainBundle] pathForResource:@"pickuplines" ofType:@"db"];
NSMutableString *query = [[NSMutableString alloc] initWithFormat:@""];
sqlite3 *database = NULL;
char *errorMsg = NULL;
if (sqlite3_open([file UTF8String], &database) == SQLITE_OK) {
for(PickUpLine *pickupline in pickUpLines){
[query appendFormat:@"INSERT INTO pickuplines VALUES(%d,%d,%d,'%@','YES')", pickupline.line_id, pickupline.thumbsUps, pickupline.thumbsDowns, [pickupline.line stringByReplacingOccurrencesOfString:@"'" withString:@"`"]];
NSLog(query);
int result = sqlite3_exec(database, [query UTF8String], NULL, NULL, &errorMsg);
if (result!=SQLITE_OK) {
printf("\n%s",errorMsg);
sqlite3_free(errorMsg);
}
//sqlite3_step([query UTF8String]);
[query setString:@""];
}//end for
}//end if
[query release];
sqlite3_close(database); }
все выглядит нормально, строка запроса в операторе журнала тоже в порядке, но данные не вставляются. Где в качестве аналога этой функции для оператора выбора хорошо работает.
Здесь встречная часть
- (void)loadLinesFromDatabase{
NSString *file = [[NSBundle mainBundle] pathForResource:@"pickuplines" ofType:@"db"];
sqlite3 *database = NULL;
if (sqlite3_open([file UTF8String], &database) == SQLITE_OK) {
sqlite3_exec(database, "SELECT * FROM pickuplines", MyCallback, linesFromDatabase, NULL);
}
sqlite3_close(database);
}
Я реализовал обратный вызов, и он отлично работает.
Я немного новичок в Sqlite, может кто-нибудь, пожалуйста, укажет, что я делаю не так.
Thanx