我在项目中使用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
对于这个对象,当我提交时,提交不起作用。对于所有其他对象的提交正在进行中。 谁能帮我?谢谢你。
答案 0 :(得分:1)
在 DBDelegate 上实施错误方法可能值得。
- (void)databaseError:(DBError *)error {
NSLog(@"error >> %@\nsql >> %@", error.errorMessage, error.sqlQuery);
}
这将告诉你&#34; FROM&#34;是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
现在,我想我们可以通过更改我们在选择查询中命名字段的方式来轻松修复它,但是现在您可以更改属性名称。在任何未来版本中,我们将解决此问题以阻止此错误发生。
由于