Check the below options to fix the “System.LimitException: Too many DML statements: 1” exception in Salesforce.
1.Visualforce Page:
In <apex:page> tag, if attribute “readonly” is true and if we try to execute DML statements(Insert, Update, Delete), then it shows Too many DML statements: 1 out of 0 Error in Salesforce.
So, in order to rectify this error, set readOnly = “false” or remove this attribute in <apex:page> tag.
Sample code:
<apex:page controller="Sample" sidebar="false" readOnly="false">
When you set readOnly attribute of page to true then it does not allow any DML statements.
2. Aura Component:
Do not use @AuraEnabled(cacheable=true). Use @AuraEnabled. Remove (cacheable=true).
3. Lightning Web Component:
a. Do not use @AuraEnabled(cacheable=true). Use @AuraEnabled. Remove (cacheable=true).
b. Use async await while calling method that does DML Operations.
Sample code for Lightning Web Component: