[英]SQLite insert works in simulator but not on device
這是我調用並傳遞一個變量的SQLite代碼。 問題在哪里?
-(IBAction)insertPet:(NSString *) name{
NSString *query = [NSString stringWithFormat:@"Insert into pet (name) values ('%@');", name];
sqlite3_stmt *statement;
NSLog(@"1 - %@",query);
if(sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil)==SQLITE_OK)
{
NSLog(@"2 - %@",query);
if(SQLITE_DONE == sqlite3_step(statement)){
NSLog(@"Query - %@",query);
}
sqlite3_finalize(statement);
}
}
對我有用的是從您的設備中刪除該應用程序,重新啟動該設備,在Xcode中清潔該應用程序,然后再次加載它,還要檢查是否在數據庫上選擇了“目標成員身份”。
我的猜測是您的數據庫位於應用程序捆綁包中。 在這種情況下,您將必須創建數據庫的可寫副本才能執行更改數據庫的查詢(例如INSERT或UPDATE)。 最受歡迎的方法是將數據庫從分發包復制到Documents文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.