Bind variables only allowed in Apex code错误的解决方法
2023年09月26日
文章浏览:271
现象:发生【Bind variables only allowed in Apex code】错误

因为是使用Ajax Tookit来查询数据,所以直接用Console.log把SOQL的内容打印出来确认问题。



原因:SOQL不是能够执行的字符串

果然原因很简单,就是变量是如下格式,这是在Apex代码中才能执行的,

到了AjaxToolkit里面,肯定要替换成字符串才可以。

MapTech__GyouseiKubun__c = :defaultGyouseiKubun


下面是SOQL语句的全部内容

Select Id ,MapTech__POLYGON_LatLngInfo__c ,MapTech__LineColor__c ,MapTech__FilColor__c ,MapTech__LayerFilOptically__c 
From  MapTech__DrawingManager__c  
Where MapTech__GyouseiKubun__c = :defaultGyouseiKubun And  
MapTech__DeleteFlag__c = false  
ORDER BY CreatedDate LIMIT 50000 


同理,在开发者控制台查询的时候,偶尔也会出这样的错误,如果我们没有把SOQL写完整的话



修正后:所有现象恢复正常。


Select Id ,MapTech__POLYGON_LatLngInfo__c ,MapTech__LineColor__c ,MapTech__FilColor__c ,MapTech__LayerFilOptically__c 
From  MapTech__DrawingManager__c  
Where MapTech__GyouseiKubun__c = 'null'  And  
MapTech__DeleteFlag__c = false  
ORDER BY CreatedDate LIMIT 50000 

关注 收藏