ios SQLite在设备中不工作,在模拟器中工作
我正在使用下面的代码..在某些语句中,它与模拟器配合良好,但与设备不配合..它在IF语句中失败,但与模拟器配合良好。。 有什么问题吗。。请帮忙 数据库路径ios SQLite在设备中不工作,在模拟器中工作,ios,sql,iphone,ios7,sqlite,Ios,Sql,Iphone,Ios7,Sqlite,我正在使用下面的代码..在某些语句中,它与模拟器配合良好,但与设备不配合..它在IF语句中失败,但与模拟器配合良好。。 有什么问题吗。。请帮忙 数据库路径 -(void) openDB { NSString *databaseFilename = @"A.db"; NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *
-(void) openDB {
NSString *databaseFilename = @"A.db";
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
NSString *databasePath = [documentsDir stringByAppendingPathComponent:databaseFilename];
NSLog(@"file address %@",databasePath);
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:databasePath error:nil];
//copying
NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:databaseFilename];
[fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:nil];
if (sqlite3_open([databasePath UTF8String], &db) != SQLITE_OK) {
sqlite3_close(db);
NSAssert(0, @"Database failed to open.");
}
}
代码是
sqlite3_stmt *statement;
NSString *sql;
sql=@"INSERT into db values(?,?)";
if (sqlite3_prepare_v2(db1, [sql UTF8String], -1, &statement, nil) == SQLITE_OK){
sqlite3_bind_text(statement, 1, [A.text UTF8String], -1, NULL);
sqlite3_bind_text(statement, 2, [B_text.text UTF8String], -1, NULL);
sqlite3_step(statement);
sqlite3_finalize(statement);
}
您的数据库路径是什么?您需要在Documents目录中定义数据库路径。@rajesh请检查数据库路径path@ParvendraSingh我已经定义了。。更新的代码执行进入if(sqlite3\u prepare\u v2(db1,[sqlutf8string],-1,&语句,nil)==SQLITE\u OK){}条件?你能调试它吗?