2013-05-11 86 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