You need to sign in to do that
Don't have an account?
Sami Shakith
SObject row was retrieved via SOQL without querying the requested field: Interrogate__c.X1__c Error is in expression '{!save1}' in component <apex:commandButton> in page apstest: Class.ApsTestController.save1: line 40, column 1
Hi,
I dont know why my page shows this error. Please give a solution. My VF page is like as below
<apex:page standardController="Interrogate__c" extensions="ApsTestController">
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection >
1. A compiler converts the Java program into an intermediate language representation called ____________.<br></br>
<apex:selectradio >
<apex:selectOptions value="{!X1optionsbelow}"/><br></br><br></br>
</apex:selectradio>
2. _____________ operator is used to create an object.<br></br>
<apex:selectradio >
<apex:selectOptions value="{!x2optionsbelow}"/>
</apex:selectradio>
</apex:pageBlockSection>
<apex:pageBlockButtons location="bottom">
<apex:commandButton value="Finish" action="{!save1}" />
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>
</apex:page>
My controller class is as below:
public class ApsTestController{
public Interrogate__c Interrogate{get;set;}
public string x1{get;set;}
public string x2{get;set;}
public string id{get;set;}
public List<SelectOption> x1optionsbelow{get;set;}
public List<SelectOption> x2optionsbelow{get;set;}
public ApsTestcontroller(apexpages.standardcontroller controller)
{
Interrogate = new Interrogate__c();
interrogate = (interrogate__c)controller.getrecord();
x1optionsbelow=new List<SelectOption>();
Schema.DescribeFieldResult statusFieldDescription1=Interrogate__c.X1__c.getDescribe();
for (Schema.Picklistentry picklistEntry:statusFieldDescription1.getPicklistValues()){
x1optionsbelow.add(new SelectOption(pickListEntry.getValue(),pickListEntry.getLabel()));
if (picklistEntry.defaultValue){
Interrogate.X1__c= pickListEntry.getValue();
}
}
x2optionsbelow=new List<SelectOption>();
Schema.DescribeFieldResult statusFieldDescription=Interrogate__c.X2__c.getDescribe();
for (Schema.Picklistentry picklistEntry:statusFieldDescription.getPicklistValues()){
x2optionsbelow.add(new SelectOption(pickListEntry.getValue(),pickListEntry.getLabel()));
if (picklistEntry.defaultValue){
Interrogate.X2__c= pickListEntry.getValue();
}
}
}
public pagereference save1()
{
interrogate__c inte=new interrogate__c();
inte = [select id, name, name__c, X1__c, X2__c from interrogate__c where id=:Interrogate.id];
inte.X1__c = Interrogate.X1__c;
inte.x2__c = Interrogate.x2__c;
upsert inte;
pagereference ref;
ref = new pagereference('/apex/ApsTest?id='+interrogate.id);
ref.setredirect(true);
return ref;
}
}
I want to update the X1 and X2 feilds in interrogate object. But it is not updating.
I dont know why my page shows this error. Please give a solution. My VF page is like as below
<apex:page standardController="Interrogate__c" extensions="ApsTestController">
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection >
1. A compiler converts the Java program into an intermediate language representation called ____________.<br></br>
<apex:selectradio >
<apex:selectOptions value="{!X1optionsbelow}"/><br></br><br></br>
</apex:selectradio>
2. _____________ operator is used to create an object.<br></br>
<apex:selectradio >
<apex:selectOptions value="{!x2optionsbelow}"/>
</apex:selectradio>
</apex:pageBlockSection>
<apex:pageBlockButtons location="bottom">
<apex:commandButton value="Finish" action="{!save1}" />
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>
</apex:page>
My controller class is as below:
public class ApsTestController{
public Interrogate__c Interrogate{get;set;}
public string x1{get;set;}
public string x2{get;set;}
public string id{get;set;}
public List<SelectOption> x1optionsbelow{get;set;}
public List<SelectOption> x2optionsbelow{get;set;}
public ApsTestcontroller(apexpages.standardcontroller controller)
{
Interrogate = new Interrogate__c();
interrogate = (interrogate__c)controller.getrecord();
x1optionsbelow=new List<SelectOption>();
Schema.DescribeFieldResult statusFieldDescription1=Interrogate__c.X1__c.getDescribe();
for (Schema.Picklistentry picklistEntry:statusFieldDescription1.getPicklistValues()){
x1optionsbelow.add(new SelectOption(pickListEntry.getValue(),pickListEntry.getLabel()));
if (picklistEntry.defaultValue){
Interrogate.X1__c= pickListEntry.getValue();
}
}
x2optionsbelow=new List<SelectOption>();
Schema.DescribeFieldResult statusFieldDescription=Interrogate__c.X2__c.getDescribe();
for (Schema.Picklistentry picklistEntry:statusFieldDescription.getPicklistValues()){
x2optionsbelow.add(new SelectOption(pickListEntry.getValue(),pickListEntry.getLabel()));
if (picklistEntry.defaultValue){
Interrogate.X2__c= pickListEntry.getValue();
}
}
}
public pagereference save1()
{
interrogate__c inte=new interrogate__c();
inte = [select id, name, name__c, X1__c, X2__c from interrogate__c where id=:Interrogate.id];
inte.X1__c = Interrogate.X1__c;
inte.x2__c = Interrogate.x2__c;
upsert inte;
pagereference ref;
ref = new pagereference('/apex/ApsTest?id='+interrogate.id);
ref.setredirect(true);
return ref;
}
}
I want to update the X1 and X2 feilds in interrogate object. But it is not updating.
Below is the Page:-
this is the controller
Hope this works fine!!
Thanks
All Answers
You can try below code ,
Here i made two changes one is i deed query "
interrigate =[SELECT id, name, name__c, X1__c, X2__c FROM interrogate__c WHERE id=:Interrogate.id ];
"
at line 40 and removed the query from save1() method.
Please let me know if this will help,
Thanks,
Keyur Modi
please use this code,
please let me know, if this will help.
Thanks,
Keyur Modi
Thanks for your reply modi.
Below is the Page:-
this is the controller
Hope this works fine!!
Thanks
Error: Compile Error: unexpected token: 'public' at line 9 column 0