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
Aron Schor [Dev]Aron Schor [Dev] 

Data not shown when I use a custom controller on a VF page.

Hi, the page simply says "Saucony" and no data below.

The only thing I can think of based on a past one I did is to change line 2 of the class

From: public List<Sales_Order_Line__C> Sales_Order_Lines {get;set;} 
To: public List<Sales_Order_Line__C> Sales_Order_Line__C {get;set;} 

but I get the error
Error: Compile Error: Invalid identifier: Sales_Order_Line__C at line 2 column 34    

Any idea?  I have done similar ones that work, can't figure this one out.

This query alone does work and returns matches
SELECT SalesOrderSalesOrderLine__r.Account__r.Name, SalesOrderSalesOrderLine__r.OrderDate__C, ProductName__c, PurchaseQuantity__c FROM sales_order_line__C WHERE ProductName__C LIKE '%Guide%'

CLASS

public class SauconyController {
public List<Sales_Order_Line__C> Sales_Order_Lines {get;set;} 
    private String sortOrder = 'SalesOrderSalesOrderLine__r.OrderDate__C';
public List<Sales_Order_Line__C> getSales_Order_Lines() {
    List<Sales_Order_Line__C> results = Database.query(
        'SELECT SalesOrderSalesOrderLine__r.Account__r.Name, SalesOrderSalesOrderLine__r.OrderDate__C, ProductName__c, PurchaseQuantity__c ' +
        'FROM Sales_Order_Line__C' +
        'WHERE ProductName__c like %Guide% ' +
        'ORDER BY ' + sortOrder + ' DESC '
    );
    return results;
}
}

PAGE

<apex:page controller="SauconyController" sidebar="false" showheader="false">
<font size="5">
    <apex:form >
        <apex:pageBlock title="Saucony" id="Sales_Order_Lines_list">
            <!-- Sales Order Lines list -->
            <apex:pageBlockTable value="{! Sales_Order_Lines }" var="sl">
            <apex:column value="{!sl.SalesOrderSalesOrderLine__r.Account__r.Name}"/>
            <apex:column value="{!sl.SalesOrderSalesOrderLine__r.OrderDate__c}"/>
            <apex:column value="{!sl.ProductName__c}"/>
            <apex:column value="{!sl.PurchaseQuantity__c}"/>
        </apex:pageBlockTable>  
        </apex:pageBlock>
            </apex:form>
</font>
</apex:page>
 

Thanks.

Best Answer chosen by Aron Schor [Dev]
Benoy VmBenoy Vm
put your from and where clause in the same line.
Here is an example
List<Opportunity> results = Database.query('SELECT Description ' +
    'FROM Opportunity WHERE StageName LIKE \'%draft%\'');

All Answers

ShotShot
Try this:
public class SauconyController {
private String sortOrder = 'SalesOrderSalesOrderLine__r.OrderDate__C';

public List<Sales_Order_Line__C> getSales_Order_Lines() {
    List<Sales_Order_Line__C> results = Database.query(
        'SELECT SalesOrderSalesOrderLine__r.Account__r.Name, SalesOrderSalesOrderLine__r.OrderDate__C, ProductName__c, PurchaseQuantity__c ' +
        'FROM Sales_Order_Line__C' +
        'WHERE ProductName__c like %Guide% ' +
        'ORDER BY ' + sortOrder + ' DESC '
    );
    return results;
}
}

 
Aron Schor [Dev]Aron Schor [Dev]
The page says
unexpected token: like 
An unexpected error has occurred. Your development organization has been notified.
Then I get an email that says
Apex script unhandled exception by user/organization: 005j0000000TMWc/00Dj0000001oNoo
Visualforce Page: /apex/mobilesaucony
caused by: System.QueryException: unexpected token: like
Class.SauconyController.getSales_Order_Lines: line 5, column 1
ShotShot
Try to add  apostrophe
 ' %Guest%
Aron Schor [Dev]Aron Schor [Dev]
If I change to 'WHERE ProductName__c like '%Guide%' ' +

I get the error
Error: Compile Error: line 8:36 no viable alternative at character '%' at line 8 column 36    
ShotShot
:)) ok, then this way:

\' %Guest% \'
 
Aron Schor [Dev]Aron Schor [Dev]
Still no luck.

public class SauconyController {
private String sortOrder = 'SalesOrderSalesOrderLine__r.OrderDate__C';

public List<Sales_Order_Line__C> getSales_Order_Lines() {
    List<Sales_Order_Line__C> results = Database.query(
        'SELECT SalesOrderSalesOrderLine__r.Account__r.Name, SalesOrderSalesOrderLine__r.OrderDate__C, ProductName__c, PurchaseQuantity__c ' +
        'FROM Sales_Order_Line__C' +
        'WHERE ProductName__c like \'%Guide%\' ' +
        'ORDER BY ' + sortOrder + ' DESC '
    );
    return results;
}
}


Apex script unhandled exception by user/organization: 005j0000000TMWc/00Dj0000001oNoo
Visualforce Page: /apex/mobilesaucony
caused by: System.QueryException: unexpected token: LIKE
Class.SauconyController.getSales_Order_Lines: line 5, column 1
Benoy VmBenoy Vm
put your from and where clause in the same line.
Here is an example
List<Opportunity> results = Database.query('SELECT Description ' +
    'FROM Opportunity WHERE StageName LIKE \'%draft%\'');
This was selected as the best answer
Aron Schor [Dev]Aron Schor [Dev]
Perfect thanks Benoy!