Sqlite iPhone проблема вставки данных - PullRequest
0 голосов
/ 19 апреля 2010

Привет, у меня есть функция, которая в основном пытается вставить некоторые данные, возвращаемые вызовом 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

1 Ответ

0 голосов
/ 19 апреля 2010

Вы всегда можете использовать SQLiteDatabase Crystalminds:
http://www.crystalminds.nl/?p=1342

Они создали невероятно простую в использовании библиотеку баз данных, так что больше никаких проблем со сложным кодом! Я использовал это в течение некоторого времени, и я не могу себе представить, что обойтись без!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...