You need to sign in to do that
Don't have an account?
VanitaKedar
List has no rows for assignment to SObject in Visualforce page
hello all,
i am working on
following example of visual force custome controller
plz reff below link
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_controller_custom.htm
and receved folling error
List has no rows for assignment to SObject
An unexpected error has occurred. Your development organization has been notified.
not sure whats wrong, and why it is not getting account data for user though there are multiple records in account for logged in user, who is developing the same vf page.
inputs are highly appreciated.
thank you,
vanita
i am working on
following example of visual force custome controller
plz reff below link
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_controller_custom.htm
and receved folling error
List has no rows for assignment to SObject
An unexpected error has occurred. Your development organization has been notified.
not sure whats wrong, and why it is not getting account data for user though there are multiple records in account for logged in user, who is developing the same vf page.
inputs are highly appreciated.
thank you,
vanita
<apex:page controller="myController" tabStyle="Account">
<apex:form>
<apex:pageBlock title="Congratulations {!$User.FirstName}">
You belong to Account Name: <apex:inputField value="{!account.name}"/>
<apex:commandButton action="{!save}" value="save"/>
</apex:pageBlock>
</apex:form>
</apex:page>
Controller code
public class MyController {
private final Account myAccount;
public MyController() {
myAccount = [SELECT Id, Name, Site FROM Account
WHERE Id = :ApexPages.currentPage().getParameters().get('id')];
}
public Account getAccount() {
return myAccount;
}
public PageReference save() {
//Add your custom logic to update specific fields here
//e.g. myAccount.email = 'xx@xx.com';
update myAccount;
return null;
}
}
You have to pass account id in the url.In the constructor(Mycontroller)method it is trying to fetch id from the page parameters.Since you ar not passing id in the url it is unable to fetch account record.Pass any account record id which you want to update
After clicking on preview pass account id in the url.
You url should be like this http://yourinstance/apex/pagename?id=0012v00xxxxxxxx.
Hope this helps you
Let me know if this helps you. Kindly mark it as solved so that it may help others in future.
Thanks and Regards
This is not a work arround.The code itself is written in such a way where the constructor(which is executed on page load) is querying account whose id is provided in the page URL.
SELECT Id, Name, Site FROM Account
WHERE Id = :ApexPages.currentPage().getParameters().get('id')];
So if you dont pass id in the URL this ApexPages.currentPage().getParameters().get('id') will be null ,then we get query results as null.
Hope this helps you
Let me know if this helps you. Kindly mark it as solved so that it may help others in future.
Thanks and Regards