Diese bedeuten, dass Ihre Abfrage kein Ergebnis zurückgibt (also die Liste leer ist und dann wenn man in ein Objekt wirft, gibt es kein Item zu nehmen).
qName = [select Row_Id__c, Name from Ccon__c where Id = :ApexPages.currentPage().getParameters().get('id')].Row_Id__c;
Ich würde es auf diese Weise tun (auf jeden Fall sicherstellen, dass ich Wert von meiner Anfrage erhalten, wenn meine ID gültig ist):
Id tempID = null;
if(ApexPages.currentPage().getParameters().get('id') != null)
{
tempId = ApexPages.currentPage().getParameters().get('id');
}
else{ //Error management
}
List<Ccon__c> recordsToProcess = new List<Ccon__c>();
if(tempID != null)
{
recordsToProcess = [select Row_Id__c, Name from Ccon__c where Id = :tempID];
}
else{ //Error management
}
//qName Declaration
if(!recordsToProcess.isEmpty())
{
qName = recordsToProcess[0].Row_Id__c;
}
else{ //Error management
}
if(qName == null)
{
//Error management
}
Wenn Sie weitere Fragen haben, wenden Sie sich bitte an Fragen. Als Best Practice können Sie jedoch immer sicherstellen, dass Ihre Liste nicht leer ist, bevor der Datensatz zurückgegeben wird.
Danke HqSeO