字段表达式的初始术语必须是具体的SObject:Object

时间:2010-11-09 08:31:40

标签: salesforce apex-code visualforce

我只有2个对象和简单的查询来检索数据。

根据调试输出存储在数组ccList中的查询结果为:

(
    CustomThree__c:
    {
    Name=cusmei3 2, 
    customOne__c=a005000000IwnOPAAZ, 
    Id=a025000000FsFGQAA3
    }, 
    CustomThree__c:
    {
    Name=cusmei3 1, 
    customOne__c=a005000000IwnOUAAZ, 
    Id=a025000000FsFGLAA3
    }
)

如您所见system.debug(ccList[0])返回:

CustomThree__c:{
    Name=cusmei3 2, 
    customOne__c=a005000000IwnOPAAZ, 
    Id=a025000000FsFGQAA3
}

但是当我尝试从数组中获取Id(或其他字段)时,会发生错误。 谁能指出我做错了什么?

Object[] ccList;
ccList = [SELECT id, name, CustomOne__r.name  FROM CustomThree__c];
system.debug(ccList);
system.debug('******************************************');
system.debug(ccList[0]);
system.debug(ccList[0].Id); //this one cause the error

1 个答案:

答案 0 :(得分:2)

我认为您必须将ccList的类型从“Object”更改为“CustomThree__c”。当您尝试编写ccList[0].SomeNonExistentFieldName__c时,这也将为您提供编译时检查。

如果你不能这样做并且真的需要存储结果的对象是通用的 - 我相信这应该是SObject吗?