当我第一次启动应用程序时,它工作正常,并且还显示在应用程序中插入新的记录,但是一旦我关闭应用程序,它就不会显示 sqlite 数据库的任何记录,它只显示我在 sqlite manager 之外插入硬代码形式的记录应用程序。知道如何解决此问题,以便当我关闭应用程序时,它还应该显示新插入的数据。这是插入数据的代码
- (void) addCoffeePL:(NSString *)dbPath {
if(addStmt == nil) {
const char *sql = "insert into publish(userID,Catgeory,SubCategory,ContentType,ContentTitle,ContentDescription,ContenAddedTime,Size,UserName,organizationCode) Values(?,?,?,?,?,?,?,?,?,?)";
if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK)
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, [userID UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 2, [categoryTitle UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 3, [subCategoryTitle UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 4, [contentType UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 5, [contentTitle UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 6, [contentDescription UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 7, [contentAddedDateTime UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 9, [userName UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 10, [size UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 11, [organizationCode UTF8String], -1, SQLITE_TRANSIENT);
if(SQLITE_DONE != sqlite3_step(addStmt))
NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
else
//SQLite provides a method to get the last primary key inserted by using sqlite3_last_insert_rowid
coffeeID = sqlite3_last_insert_rowid(database);
//Reset the add statement.
sqlite3_reset(addStmt);
sqlite3_finalize(addStmt);
}