Я пытаюсь вставить записи в таблицу в sqlite3 со следующим кодом. Код работает отлично с iOS 8, но дает ошибку утверждения в iOS 7.1.2.Ошибка утверждения в MainViewController
Создание таблицы:
NSLog(@"database path %@",self.databasePath);
if ([manager copyItemAtPath:sourcePath toPath:self.databasePath error:&error] == NO)
{
NSLog(@"Error : %@", [error localizedDescription]);
}
// createStmt = nil;
if (sqlite3_open([self.databasePath UTF8String], &database) == SQLITE_OK)
{
const char *sql_stmt = "CREATE TABLE IF NOT EXISTS CategoryTable (mainimg BLOB,addimg BLOB,cat_nm TEXT,image_nm TEXT,lastmodified TEXT,cat_desc TEXT,prod_id TEXT,prod_nm TEXT,prod_desc TEXT,sku TEXT,supplier_id TEXT,supplier_phone TEXT,product_dosage TEXT,unit_size TEXT,unit_price TEXT)";
//NSString *query=[NSString stringWithFormat:@"create table %@(rollNo integer, name text)",tableName];
if (sqlite3_prepare_v2(database, sql_stmt, -1, &statement, NULL) != SQLITE_OK) {
}
sqlite3_exec(database,sql_stmt, NULL, NULL, NULL);
const char *sql_stmt_promo = "CREATE TABLE IF NOT EXISTS PromotionalData (ImageData BLOB,ThumbData BLOB)";
if (sqlite3_prepare_v2(database, sql_stmt_promo, -1, &statement, NULL) != SQLITE_OK) {
}
sqlite3_exec(database,sql_stmt_promo, NULL, NULL, NULL);
}
sqlite3_close(database);
Запись Вставка:
sqlite3 *database;
if (sqlite3_open([appdelegate.databasePath UTF8String], &database) == SQLITE_OK)
{
sqlite3_stmt *statement;
const char* sqliteQuery = "INSERT INTO CategoryTable (mainimg,addimg,cat_nm,image_nm,lastmodified,cat_desc,prod_id,prod_nm,prod_desc,sku,supplier_id,supplier_phone,product_dosage,unit_size,unit_price) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
if (sqlite3_prepare_v2(database, sqliteQuery, -1, &statement, NULL) == SQLITE_OK)
{
sqlite3_bind_blob(statement, 1, [mainimg bytes], [mainimg length], SQLITE_STATIC);
sqlite3_bind_text(statement, 2, [addimg UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 3, [cat_nm UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 4, [image_nm UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 5, [lastmodified UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 6, [cat_desc UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 7, [prod_id UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 8, [prod_nm UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 9, [prod_desc UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 10, [sku UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 11, [supplier_id UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 12, [supplier_phone UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 13, [product_dosage UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 14, [unit_size UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 15, [unit_price UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_step(statement);
sqlite3_finalize(statement);
NSLog(@"inserted ");
}
else
{
NSAssert1(0, @"error:'%s'", sqlite3_errmsg(database));
// NSLog(@"not inserted ");
}
sqlite3_close(database);
}
Сообщение об ошибке:
2015-07-08 08:54:17.819 SwaroopAgro[365:60b] Assertion failure in -[MainViewController Savemainimg:withaddimg:withcat_nm:withimage_nm:withlastmodified:withcat_desc:withprod_id:withprod_nm:withprod_desc:withsku:withsupplier_id:withsupplier_phone:withproduct_dosage:withunit_size:withunit_price:], /Users/dhananjaypatil/Desktop/swaroop/SW copy 8.1/swaroopAgro_iPhone 2/SwaroopAgro/MainViewController.m:700 2015-07-08 08:54:22.616 SwaroopAgro[365:60b] Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'error:'table CategoryTable has no column named mainimg'' *** First throw call stack: (0x30ba0f83 0x3b351ccf 0x30ba0e5d 0x3154ed5b 0xeae13 0xea563 0xe993f 0xedd7d 0x314e0fc3 0x314e0f07 0x314e0e21 0x308070e7 0x30805cf7 0x30ad48f1 0x3079d6bb 0x3079d579 0x3079d40d 0x30b6c20b 0x30b6b6db 0x30b69ecf 0x30ad4ebf 0x30ad4ca3 0x359da663 0x3342114d 0xc1ea5 0x3b85eab7) libc++abi.dylib: terminating with uncaught exception of type NSException
Я попробовал его уже давно и теперь снова, но он не работал –
@DhananjayPatil вы уже исправили его или он еще не работает? – luk2302