You need to sign in to do that
Don't have an account?
Urgent help reqd
public List<Billing_Policy__c> policyList;
public String getPolicyNos()
{
Integer i;
String policyNos='';
policyList= [select Policy_No__c from Billing_Policy__c where Name='7M3333'];
if(policyList != null)
{
String[] policies= policyList.Policy_No__c;
for(i=0; i<policies.size(); i++)
{
policyNos = policyNos + policies[i];
Integer k=policies.size()-1;
if(i != k)
{
policyNos += ', ';
}
}
}
// policyNos='12345AC';
return policyNos;
}
Unable to get the error when i try to save the file....the line in red is where the error is.
Basically the billing policy has a list of policy numbers i want to put it in a string array which in turn will be displayed in a text box... Kindly help
Error: BillingContoller Compile Error: Initial term of field expression must be a concrete SObject: LIST<Billing_Policy__c> at line 28 column 27
public String getPolicyNos()
{
Integer i;
String policyNos='';
policyList= [select Policy_No__c from Billing_Policy__c where Name='7555M'];
if(policyList != null)
{
// String[] policies= policyList;
for(i=0; i<policyList.size(); i++)
{
policyNos = policyNos + policyList[i].Policy_No__c;
Integer k=policyList.size()-1;
if(i != k)
{
policyNos += ', ';
}
}
}
// policyNos='12345AC';
return policyNos;
}
Now it works...Thank you very much
All Answers
Your policy list variable is a list (or array) of Billing_Policy__c, but you are treating it like a single instance.
If you are only expecting a single Billing_Policy__c with the name '7M3333', you can simply access the first element of the array, though its better practice to check that you did get a result, e.g.
However, I would expect you to still have problems with this line:
as a field on an sobject cannot be an array.
It is a list because on querying i will receive a list of policy numbers. but befor displaying it on the VF page i need to convert it to string right?
And yes the problem still exists
public String getPolicyNos()
{
Integer i;
String policyNos='';
policyList= [select Policy_No__c from Billing_Policy__c where Name='7555M'];
if(policyList != null)
{
// String[] policies= policyList;
for(i=0; i<policyList.size(); i++)
{
policyNos = policyNos + policyList[i].Policy_No__c;
Integer k=policyList.size()-1;
if(i != k)
{
policyNos += ', ';
}
}
}
// policyNos='12345AC';
return policyNos;
}
Now it works...Thank you very much