2020-11-27 How to Select All Fields in SOQL

根據(jù)項目需求,我們需要動態(tài)配置數(shù)據(jù),所以在SOQL語句中,我們要獲得所有的字段,然后找到了下面的解決方案,具體參考下面的代碼:

 public String getFieldsSOQL(String objectName){
        String selects = '';
        // Get a map of field name and field token
         Map<String, Schema.SObjectField> fMap = Schema.getGlobalDescribe().get(objectName.toLowerCase()).getDescribe().Fields.getMap();      
         list<string> selectFields = new list<string>();
         if (fMap != null) {
             for (Schema.SObjectField ft : fMap.values()) { // loop through all field tokens (ft)
                 Schema.DescribeFieldResult fd = ft.getDescribe(); // describe each field (fd)
                     selectFields.add(fd.getName());   
             }
         }
         if (!selectFields.isEmpty()) {
             for (string s:selectFields) {
                 selects += s + ',';
             }
             if (selects.endsWith(',')) {
                 selects = selects.substring(0,selects.lastIndexOf(','));
             }            
         }
        if (selects == null || selects == '') {
         selects = 'id';
         }
         return selects;  
    } 

通過下面的代碼可以得到字段拼接的字符串,在Apex中使用的時候需要拼接SOQL語句,參考如下的用法:

        String selects = getFieldsSOQL();
        String query = 'SELECT '+selects +' FROM Lead';
        List<Lead> leadList = Database.getQueryLocator(query);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容