Sybase SUPQuery testcriteria issue [iOS]



我正在开发一个在日历中显示活动的 iPad 应用程序,我有 2 个与此活动相关的 MBO。我能够通过查询+连接获取结果集。但是我无法使用测试标准句子获得"where"查询。在我添加测试条件行之前,查询是正常的。这是代码:

SUPQuery *oneActivitiesQuery = [SUPQuery getInstance];
[oneActivitiesQuery select:@"c.DATE_FROM, d.DESCRIPTION"];
[oneActivitiesQuery from:@"GetCalendar" :@"c"];
[oneActivitiesQuery join:@"GetActivityDetail" :@"d" :@"d.GUID" :@"c.GUID"];
oneActivitiesQuery.testCriteria = [SUPAttributeTest match:@"c.DATE_FROM" :d];
SUPQueryResultSet* calendarResultSet = [MBOCRM_MOBILE_MBOCRM_MOBILEDB executeQuery:oneActivitiesQuery ];

if (calendarResultSet  == nil) {
    MBOLog(@"executeQuery failed");
    return;
}

for (SUPDataValueList* result in calendarResultSet ){
    MBOLog(@"Date --> %@", [[SUPDataValue getNullableDate:[result item:0]] description]);  
    MBOLog(@"Description --> %@", [SUPDataValue getNullableString:[result item:1]]);
}

第 5 行中的"d"是 NSDate 变量。

这是错误消息:

Terminating app due to uncaught exception 'SUPPersistenceException', reason: 'unexpected null value for '"b"'
SUPDateValue *thedatevalue = [SUPDateValue newInstance];
[thedatevalue setValue:d];
oneActivitiesQuery.testCriteria = [SUPAttributeTest match:@"c.DATE_FROM" : thedatevalue];

SUP不知道一些NSObjects,你需要转换或包装到SUP对象。试试这个:)

最新更新