调试salesforce中初学者的困惑

时间:2012-12-03 15:59:36

标签: salesforce apex-code visualforce

您好,我是Salesforce.com平台的初学者

我写了一篇Apex课程:

public class FieldSetDemonstration {

public Resource__c merch { get; set; }

public FieldSetDemonstration() {
    this.merch = getMerchandise();
}

public List<Schema.FieldSetMember> getFields() {
    return SObjectType.Resource__c.FieldSets.Hello2.getFields();
}

private Resource__c getMerchandise() {
    String query = 'SELECT ';
    for(Schema.FieldSetMember f : this.getFields()) {
        query += f.getFieldPath() + ', ';
    }
    query += 'Id  FROM Resource__c LIMIT 1';
    System.debug('Hello world debug log');
    Resource__c res= Database.query(query);
    System.debug('Hello World Debug log'+''+res.name);
    return res;
}
}

这是一个控制器类 在visualforce页面控制器中给出正确的res.name值但在调试控制台中我只获得Hello world调试日志。任何人都可以告诉它为什么它没有在调试控制台中显示res.name值。如何显示它以进行调试?

1 个答案:

答案 0 :(得分:0)

好吧最后我找到了而不是在System.debug()中使用res.name我必须使用res.get('Name')

public class FieldSetDemonstration {

public Resource__c merch {get;组; }

public FieldSetDemonstration(){     this.merch = getMerchandise(); }

public List getFields(){     return SObjectType.Resource__c.FieldSets.Hello2.getFields(); }

private Resource_ c getMerchandise(){     String query ='SELECT';     for(Schema.FieldSetMember f:this.getFields()){         query + = f.getFieldPath()+',';     }     query + ='Id FROM Resource _c LIMIT 1';     System.debug('Hello world debug log');     Resource__c res = Database.query(query);     System.debug('Hello World Debug log'+''+ res.get('Name'));     返回资源; } }

此代码工作正常