1
我想执行以下代码:意外的查询行为
static void ProjTableQuery(Args _args)
{
Query query;
QueryBuildDataSource qbds1;
QueryBuildDataSource qbds2;
QueryBuildRange qbr1;
QueryBuildRange qbr2;
QueryRun queryRun;
ProjTable projTable;
query = new Query();
qbds1 = query.addDataSource(tableNum(ProjTable));
qbds1.addSortField(
fieldNum(ProjTable, Name),
SortOrder::Ascending);
//qbr1 = qbds1.addRange(fieldNum(ProjTable, Type));
//qbr1.value(queryValue(ProjType::FixedPrice));
qbr2 = qbds1.addRange(fieldNum(ProjTable, ProjId));
qbr2.value(queryValue('0') + '*');
qbds2 = qbds1.addDataSource(tableNum(ProjEmplTrans));
qbds2.relations(true);
qbds2.joinMode(JoinMode::InnerJoin);
queryRun = new QueryRun(query);
while (queryRun.next())
{
projTable = queryRun.get(tableNum(ProjTable));
info(strFmt("%1 %2 %3", projTable.ProjId, projTable.Name, projTable.Type));
}
}
与2行注释掉它工作正常。但是,如果我取消注释,它将不再运行,并且不会显示任何错误消息。
据我所见,ProjType是一个枚举,我确信我有FixedPrice值只是在SQL中检查。
什么是错误信息? – Matej
@Matej不幸的是,没有错误信息。 –
此查询适用于我:)没有错误。你有没有''FixedPrice'项目以'0'开头** AND **有'ProjEmplTrans'? – Matej