SOQL查询没有返回visualforce页面上存在于对象中的行我在通过visualforce页面上的SOQL查询检索对象中存在的记录时遇到问题
我怎么知道他们存在?我使用了force explorer和workbench,以下内容返回了一条记录
SELECT Code__c FROM External_membership_label__c WHERE Code__c = '3'
好的,所以visualforce页面不会返回上面的记录,下面是代码(代码中的几行)
public String gvlLCCODE {get;set;}
if(gvlLCCODE != null || gvlLCCODE != ''){
List<External_membership_label__c> exisitingGVLcodes = [SELECT Code__c FROM External_membership_label__c WHERE Code__c = :gvlLCCODE];
if (exisitingGVLcodes.Size() > 0){
//blahh blahh
}
}
有什么建议吗?我有调试告诉我'gvlLCCODE'有一个存在于对象中的值。此外,如果我更改SOQL,例如,从users表返回当前用户,它将返回一条记录,然后输入IF语句。
我认为这是我错过的一个安全问题。但我也检查了这些。
谢谢
答案 0 :(得分:0)
嗯,首先,在你的IF语句中你可能想要使用&amp;&amp;而不是||。
您是否遇到测试方法的问题?如果是这样,那么这是因为默认情况下该方法无法访问现有记录。
答案 1 :(得分:0)
首先,你应该听听Kirill关于&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp ;,同样地,||
毫无意义,(a!=b)|(a!=c)
时a
的任何b!=c
始终为真,with sharing
就像这里的情况一样
其次,听起来你肯定有安全问题。要验证更改扩展程序的声明从without sharing
到{{1}}并运行。如果您获得该行,则您与该行共享安全问题。