読者です 読者をやめる 読者になる 読者になる

なぐりがき

SalesforceからときどきIdol



Salesforce:コンストラクタでDML発行してみる

普通にできると思って、コンストラクタでUPDATE文実行してみました。

エラーになった。
(当たり前でした。)





エラーメッセージ
DML currently not allowed


そういえば、試験勉強の時にそんなこと勉強しましたね。
コンストラクタでできることっていう題目で。
そんなわけで、コンストラクタではDMLは発行できないのでした。


普通にDML発行してたよ、ごめん。


回避方法としては、
コンストラクタとは別にメソッドを作ります。

public void init(){
ここでDML発行
}

<apex:page controller= action="{!init}" >
コントローラーのとこは適宜。

これでいけました。たぶん。

勉強してるだけでは、やっぱり身に付いてないなぁ。
実際にぶち当たるとこれかっ!ってなるので、よかったです。

コンストラクタではDML発行できません。


最近、Salesforceが多いのは、World Tourが近いからです!
なんとか行けるかなぁって感じで楽しみです。