簡體   English   中英

SQLite插入可在模擬器中使用,但不能在設備上使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM