ios - DBAccess:提交不起作用

标签 ios objective-c orm dbaccess

我正在为我的项目使用 dbaccess。在我的项目中,一个 dbobject 的提交不起作用。我的 dbobject 是这样的消息:

#import <DBAccess/DBAccess.h>

@interface MessageObject : DBObject

@property (strong) NSString *to;
@property (strong) NSString *from;
@property (strong) NSString *message;
@property (strong) NSString *_id;
@property int messageType;
@property long long messageSentTime;

@end

#import "MessageObject.h"

@implementation MessageObject
@dynamic to, from, message, _id;
@dynamic messageType;
@dynamic messageSentTime;
@end

对于这个对象,当我提交时,提交不起作用。对于所有其他对象的提交都有效。 谁能帮我?提前致谢。

最佳答案

您可能值得在 DBDelegate 上实现错误方法。

- (void)databaseError:(DBError *)error {
    NSLog(@"error >> %@\nsql >> %@", error.errorMessage, error.sqlQuery);
}

这将告诉您“FROM”是 SQLite 中的保留字,您已将其用作列名。

当前产生的错误如下。

(lldb) **po error.errorMessage**
near "from": syntax error

(lldb) **po error.sqlQuery**
SELECT MessageObject.from as from, MessageObject._id as _id, MessageObject.Id as Id, MessageObject.messageSentTime as messageSentTime, MessageObject.message as message, MessageObject.to as to, MessageObject.messageType as messageType FROM MessageObject 

现在,也就是说,我认为我们可以通过更改我们在选择查询中命名字段的方式来很容易地修复它,但现在您可以更改属性名称。在任何 future 的版本中,我们将解决此问题以阻止此错误的发生。

谢谢

关于ios - DBAccess:提交不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29934885/

相关文章:

通过专辑 MPMediaEntityPersistentID 的 iOS 查询有时不会带回任何歌曲

mysql - 设计一个关系数据库,以便实体可以保存一组可选的数据

php - Propel PostgreSQL 迁移找不到适配器

ios - while 部分 do-while 语句跳过

android - native 应用程序比 HTML5 更快

ios - ios App中全局模型的使用

objective-c - 如何移除或获取SpriteKit中某个节点的位置?

ios - block 内返回

objective-c - 在 UITableView 中禁用滑动删除手势

java - hibernate |标识符生成异常