0

私の目的はConsumer

これは、Consumerオブジェクトに次のフィールドがあり、レコードを作成したい場合です。ただし、null ポインター例外が報告されます。

Visualforce ページ:

<apex:page controller="signup1" >
<apex:form >
<h1>User SignUp</h1>
<apex:panelGrid columns="2" style="margin-top:2em;">
<p><b>Name :</b><br />
<apex:inputField id="name" value="{!con.Name}"/>
</p>
<p><b>Address :</b><br />
<apex:inputField id="address" value="{!con.address__c}"/>
</p>
<p><b>Email Id :</b><br />
<apex:inputField required="true" id="emailid" value="{!con.email_id__c}"/>
</p>
<p><b>Password :</b><br />
<apex:inputSecret id="password" value="{!con.password__c}"/>
</p>
<p><b>Confirm Password :</b><br />
<apex:inputSecret id="confirmpassword" value="{!con.Confirm_Password__c}"/>
</p>
<p><b>Security Question :</b><br />
<apex:inputField required="true" id="securityquestion" value="{!con.Security_Question__c}"/>
</p>
<p><b>Answer :</b><br />
<apex:inputField required="true" id="answer" value="{!con.Answer__c}" />
</p>
<p><b>Ph No :</b><br />
<apex:inputField required="true" id="phno" value="{!con.phone__c}"/>
</p>
<p><b>Pan Card No :</b><br />
<apex:inputField required="true" id="pancardno" value="{!con.Pan_Card_No__c}"/>
</p>
<p> <apex:commandButton action="{!registerUser}" value="SignUp" id="SignUp"/></p>
</apex:panelGrid>
</apex:form>
</apex:page>

controller :
public class signup1
{

    Consumer__c con = new Consumer__c();

    public void signup1()
    {
        con = [SELECT Name, address__c, email_id__c, password__c, Confirm_Password__c, Security_Question__c, Answer__c, phone__c from Consumer__c where  Name =: ApexPages.currentPage().getParameters().get('Name')];
    }

    public Consumer__c getcon()
    {
    return con;
    }

  public PageReference registerUser() 
  {
      try
      {
          insert Con;
      }
      catch(System.DMLException e)
      {
         ApexPages.addMessages(e);
         return null;
      }

      PageReference pageRef = new PageReference(ApexPages.currentPage().getUrl());
      pageRef.setRedirect(true);
      return pageRef;
  } 
}

Consumernull 例外のため、オブジェクトにデータを挿入できません。

4

3 に答える 3

0

VF ページから取得した値をコントローラーのパラメーターに設定していません。まずそれらを設定します。次に、Consumer タイプのオブジェクトを作成し、これらの値を VF ページからオブジェクトのフィールドに割り当てます。そうして初めて、con を挿入できるようになります。

于 2015-04-09T12:45:26.617 に答える
0

このコーディングは完全に間違っています。1. フィールド Name、address__c、email_id__c、password__c、Confirm_Password__c、Security_Question__c、Answer__c、および phone__c を顧客オブジェクトから、これらの入力フィールドのみとして取得する目的は何ですか。2. Customer オブジェクトに標準コントローラーを持たないのはなぜですか。3. 名前に基づいて値を取得する場合は、名前フィールドの横に検索ボタンを配置して値を取得する必要があります。

よろしく、 PK

于 2015-03-16T00:36:33.213 に答える