function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Bhaskar ChowdaryBhaskar Chowdary 

solve this error please System.QueryException: List has no rows for assignment to SObject

i entered this in url




public class sendEmail {
public String subject { get; set; }
public String body { get; set; }

private final Account account;

// Create a constructor that populates the Account object
public sendEmail() {

account = [SELECT Name, (SELECT Contact.Name, Contact.Email FROM Account.Contacts)
from Account where id = :ApexPages.currentPage().getParameters().get('id')];

public Account getAccount() {
return account;

public PageReference send() {
// Define the email
Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();

String addresses;
if (account.Contacts[0].Email != null)
addresses = account.Contacts[0].Email;
// Loop through the whole list of contacts and their emails
for (Integer i = 1; i < account.Contacts.size(); i++)
if (account.Contacts[i].Email != null)
addresses += ':' + account.Contacts[i].Email;

String[] toAddresses = addresses.split(':', 0);

// Sets the paramaters of the email
email.setSubject( subject );
email.setToAddresses( toAddresses );
email.setPlainTextBody( body );

// Sends the email
Messaging.SendEmailResult [] r =
Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email});

return null;


vf page is 

<apex:page controller="sendEmail">
<apex:messages />
<apex:pageBlock title="Send an Email to Your
{!} Representatives">
<p>Fill out the fields below to test how you might send an email to a user.</p>
<br />
<apex:dataTable value="{!account.Contacts}" var="contact" border="1">
<apex:column >
<apex:facet name="header">Name</apex:facet>
<apex:column >
<apex:facet name="header">Email</apex:facet>

<apex:form >
<br /><br />
<apex:outputLabel value="Subject" for="Subject"/>:<br />
<apex:inputText value="{!subject}" id="Subject" maxlength="80"/>
<br /><br />
<apex:outputLabel value="Body" for="Body"/>:<br />
<apex:inputTextarea value="{!body}" id="Body" rows="10" cols="80"/>
<br /><br /><br />
<apex:commandButton value="Send Email" action="{!send}" />



Error:System.QueryException: List has no rows for assignment to SObject 



System.QueryException: List has no rows for assignment to SObject 







It seems that the url not correctrt -  'i' instead 'id'.
Therefore the code can't retrieve any records.