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
TaskTask 

List has no rows for assignment to SObject Class.RenderController.<init>: line 30, column 1

public with sharing class RenderController
{
  public RFQ__C rfq {get; set;}
  public boolean privatefleet {get; set;}
  public boolean Dryvan{get; set;}
  public boolean Flatbed{get; set;}
  public boolean Reefer{get; set;}
  public boolean IMDL{get; set;}
  public boolean LTL{get; set;}
  public boolean RFI{get; set;}
  public Bid__C bid {get; set;}

  public RenderController(ApexPages.StandardController controller)
    {
      String rfqid = Apexpages.Currentpage().getparameters().get('rfqid');
      if(rfqid !=null)
      {
         bid = [select name,Modes__c,RFQ__c,f_RFQ_Due_Date__c,Lanes__c,RFQ_Status__c,Expected_LPD__c,Bid_Status__c,Bid_Stage__c,FSC_Type__c,
                FSC_Peg__c,LPD_Goal__c,Total_LPD__c,Send_to_Pricing_Team__c,Notes__c from Bid__c limit 1];
      }
      else
      {
         bid = new Bid__c();
      }
    }
  public RenderController()
  {    
     rfq = new RFQ__C();
     String rfqid = Apexpages.Currentpage().getparameters().get('rfqid');
     rfq = [select Mode_s__c from RFQ__c where id=:rfqid limit 1]; //30th line - Error is in this line
     
     if(rfq.Mode_s__c.contains('Private Fleet'))
     {
       privatefleet = true;
       bid = [select Will_Load_Following_Trailers__c,Days_of_Week__c,Must_be_food_grade_trailer__c,Driver_Work__c,Lead_Time__c,Shipper_Hours_To__c,Shipper_Hours_From__c,Cons_Hours_To__c,Cons_Hours_From__c from Bid__C where Modes__C = 'Private Fleet'];
     }

     if(rfq.Mode_s__c.contains('Dry Van'))
     {      
     }

     if(rfq.Mode_s__c.contains('Flatbed'))
     {
      Flatbed = true;
      bid = [select Ready_at__c,Securing_Accessories__C,Deliver_by__c,Level_of_flexibility__c,Are_moves_Over_Dimensional__c,Dimensions__c,Well_Space_Needed_or_Floor_Space__c,Tarps__c,Products_Overhang_on_Front_or_Rear__c from Bid__C where Modes__C = 'Flatbed'];
     }

      if(rfq.Mode_s__c.contains('Reefer'))
     {
      Reefer= true;
      bid = [select Temp_Low_del__c,Temp_High_del__C from Bid__C where Modes__C = 'Reefer'];
     }

      if(rfq.Mode_s__c.contains('IMDL'))
     {
      IMDL= true;
      bid = [select Container_Size__c,f_IMDL_Opportunity_Type__C,f_Shipment_Types__c,f_Current_IMDL_provider_types__c,f_Incumbent_IMDL_Providers__c,f_Other_IMDL_providers_notes__c from Bid__C where Modes__C = 'IMDL'];
     }

      if(rfq.Mode_s__c.contains('LTL'))
     {
      LTL= true;
      bid = [select LTL_Class__c,Class_Distribution_Notes__C,FAK_Applicable__c,FAK_Notes__c,Tariff_Base_Year__c,FSC_Schedule__c from Bid__C where Modes__C = 'LTL'];
     }

      if(rfq.Mode_s__c.contains('RFI'))
     {
       RFI= true;
       bid = [select RFI_Required__c,RFI_Status__C,RFI_Dependent__c,RFI_Due_Date__c from Bid__C where Modes__C = 'RFI'];
     }
  }
  public pagereference save()
  {
   upsert bid;
   Pagereference pg = new Pagereference('/a0B/o');
   return pg;
  }
  public PageReference Cancel()
  {
    Pagereference pg = new Pagereference('/a01/o');
    return pg;
  }
  }

Sanchivan SivadasanSanchivan Sivadasan

The line  rfq = [select Mode_s__c from RFQ__c where id=:rfqid limit 1]; fails because the SOQL query does not return anything back as a result and when you assign that to a single object it fails. Define rfq as a List and this will not fail. But make sure to check if the list has any records and handle error accordingly. 

souvik9086souvik9086

Hi,

 

Try this

 

public List<RFQ__C> rfqList  =new List<RFQ__C>();

public RFQ__C rfq {get; set;}

 

 rfqList  = [select Mode_s__c from RFQ__c where id=:rfqid limit 1];

 

if(rfqList .size()>0){

   rfq = rfqList.get(0);

}

 

If this post solves your problem kindly mark it as solution. if this post is helpful please throw Kudos.

Thanks