如何查看以下 FMDatabase executeUpdate 语句是不是成功?
Posted
技术标签:
【中文标题】如何查看以下 FMDatabase executeUpdate 语句是不是成功?【英文标题】:How do I see success of the following FMDatabase executeUpdate statement?如何查看以下 FMDatabase executeUpdate 语句是否成功? 【发布时间】:2015-05-23 14:31:40 【问题描述】:以下代码没有给出任何错误,但没有进行插入,我不知道为什么。我还是个新手,想知道查看此查询结果或查看是否有错误消息的最佳方法。我确定它很简单,例如“BOOL 成功 = [数据库执行更新...] 然后打印 BOOL。提前致谢。
if ([database open])
[database executeUpdate:@"insert into CONDITION (condition_id, condition_name, condition_detail, condition_area, condition_date, active) values(?, ?, ?, ?, ?)",
[NSNumber numberWithInt:self.condition_id], self.condition_name, self.condition_detail, self.condition_area, self.condition_date, [NSNumber numberWithInt:myInt] ];
[database close];
【问题讨论】:
这行不通,因为您有五个?
占位符,但有六个列/值。
【参考方案1】:
executeUpdate
方法有返回值,FMDatabase
保存lastErrorMessage
:
BOOL isSuccessful = [database executeUpdate:@"insert into CONDITION (condition_id, condition_name, condition_detail, condition_area, condition_date, active) values(?, ?, ?, ?, ?)",
[NSNumber numberWithInt:self.condition_id], self.condition_name, self.condition_detail, self.condition_area, self.condition_date, [NSNumber numberWithInt:myInt] ];
if (!isSuccessful)
NSLog(@"%@", database.lastErrorMessage);
【讨论】:
感谢 Bannings 快速且非常有帮助的回复!这正是我所需要的,我现在看到了错误消息并且可以继续。以上是关于如何查看以下 FMDatabase executeUpdate 语句是不是成功?的主要内容,如果未能解决你的问题,请参考以下文章
通过 FMDatabase 可读的 Date 的 GUI 将日期输入数据库
iPhone,FMDatabase:executeQuery 不起作用
通过 FMDatabase 读写 NSDate 到 sqlite 数据库