durata iniziale di espressione di campo deve essere un concreto SObject: Object
-
29-09-2019 - |
Domanda
Ho appena 2 oggetti e semplice query per recuperare i dati.
Il risultato di ricerca che è memorizzato nella matrice ccList
secondo debug è:
(
CustomThree__c:
{
Name=cusmei3 2,
customOne__c=a005000000IwnOPAAZ,
Id=a025000000FsFGQAA3
},
CustomThree__c:
{
Name=cusmei3 1,
customOne__c=a005000000IwnOUAAZ,
Id=a025000000FsFGLAA3
}
)
Come si può vedere i rendimenti system.debug(ccList[0])
:
CustomThree__c:{
Name=cusmei3 2,
customOne__c=a005000000IwnOPAAZ,
Id=a025000000FsFGQAA3
}
Ma quando cerco di ottenere Id
(o altro campo) dalla matrice, si verifica l'errore.
Qualcuno può punto che cosa sto sbagliando?
codice
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
Soluzione
Credo che dovrete cambiare il tipo di ccList da "oggetto" a "CustomThree__c". Questo vi darà anche il controllo a tempo di compilazione quando si tenta di ccList[0].SomeNonExistentFieldName__c
scrittura.
Se non è possibile farlo e ha realmente bisogno l'oggetto che memorizza risultano essere generica -? Credo che questo dovrebbe essere SObject
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow