Ошибка подтверждения при попытке вставить в базу данных sqlite на iphone - PullRequest
0 голосов
/ 05 июля 2011

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

Ошибка подтверждения в - [NewJourney addJourney], /Users/HarishYadav/Desktop/JourneyMapper/Journey/NewJourney.m:11 2011 2011-05 17: 23: 13.739 Путешествие [24328: 207] * Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Ошибка при вставке данных.'база данных заблокирована' '* Стек вызовов при первом броске:

Вот мой код для вставки значения в базу данных

- (void) addJourney {if (addStmt == nil)) {

    const char * sql = "insert into UserJourney(JourneyName,LocationName,Description) Values (?,?,?)";
    if (sqlite3_prepare_v2(database, sql, -1,&addStmt ,NULL) != SQLITE_OK)

        NSAssert1(0,@"Error while creating add statement. '%s'",sqlite3_errmsg(database));

    }
    sqlite3_bind_text(addStmt, 1, [journeyname UTF8String], -1,SQLITE_TRANSIENT);
    sqlite3_bind_text(addStmt, 2, [journeylocation UTF8String],-1, SQLITE_TRANSIENT);
    sqlite3_bind_text(addStmt, 3, [journeydescription UTF8String],-1 , SQLITE_TRANSIENT);

    if (SQLITE_DONE != sqlite3_step(addStmt)) 

        NSAssert1(0,@"Error while inserting data. '%s'",sqlite3_errmsg(database));

    else 

        journeyID = sqlite3_last_insert_rowid(database);

    sqlite3_reset(addStmt);

}

В чем была проблема в этом

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 05 июля 2011

Вы должны использовать после завершения вашего заявления

sqlite3_finalize (заявление);

в каждой функции, в которой вы используете взаимодействие с базой данных.

0 голосов
/ 05 июля 2011

проверить, что ваша база данных открыта или нет?

if(sqlite3_open([temppath UTF8String], &database) == SQLITE_OK)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...