2013-05-11 80 views
0

這並不像我想要的那樣容易和具體,但我真的被某些東西困住了。 我按照這個教程,重新創建它非常類似的iPad應用程序: http://www.highoncoding.com/Articles/836_Persisting_iOS_Application_Data_in_SQLite_Database_Using_FMDB.aspxiOS sqlite/FMDB更新不起作用

我遇到的問題是編輯客戶和保存部分。我已經在NSLog中引入了我編輯的新名稱,並且它被推入了所有的函數,所以我認爲它已經在更新命令中破壞了。

它也可能與客戶ID或故事板中我從未找到的一些微小設置。

如果有人有任何想法,請告訴我。我也可以將我的代碼壓縮成任何人。

+0

源代碼在該鏈接中給出,不是嗎?你有比較嗎?包括你的源代碼,我會看看。 – Anupdas 2013-05-11 17:50:08

+0

只有幾個小時一行一行! – 2013-05-11 18:03:56

回答

3

問題出在您的更新查詢中,您的每個列值沒有用逗號分隔。

-(BOOL) updateClient:(Client *) client 
{ 
    FMDatabase *db = [FMDatabase databaseWithPath:[Utility getDatabasePath]]; 

    [db open]; 

    BOOL success = [db executeUpdate:[NSString stringWithFormat:@"UPDATE clients SET name = '%@', phone = '%@', address = '%@', email = '%@', notes = '%@' WHERE id = %d", client.Name, client.Phone, client.Address, client.Email, client.Notes, client.clientId]]; 

    [db close]; 
    return success; 
} 
+0

啊,謝謝!它總是這樣的。感謝檢查出來! – 2013-05-11 18:54:50

+0

@HenryDavid對於這類錯誤,你總是需要第三方。快樂的編碼。 – Anupdas 2013-05-11 18:57:37

+0

請閱讀https://github.com/ccgus/fmdb上有關數據清理的文檔。通過爲值輸入SQL片段,此示例中的代碼很容易被黑客入侵。 – 2013-11-05 08:17:39