2012-09-25 20 views
0

我有一個簡單的Java SOQL查詢提取的Salesforce標準對象如下 -獲取列的元數據從SOQL查詢

String soqlQuery = "SELECT FirstName, LastName FROM Contact";

QueryResult qr = connection.query(soqlQuery);

我想要得到的對象數據類型領域。

+0

道歉。編輯爲讀取SQL。現在恢復 –

回答

1

我已經編寫了一個小函數,下面將介紹Salesforce ORG的自定義或標準對象中存在的Phone字段及其標籤的列表。我希望這可以幫助您編寫代碼的業務邏輯。字符串的

public list<String> getFieldsForSelectedObject(){  
    selectedPhoneNumber = ''; //to reset home number field  
    list<String> fieldsName = new list<String>(); 
    selectedObject = 'Object Name' // This should have the object name for which we want to get the fields type 
    schemaMap = Schema.getGlobalDescribe(); //Populating the schema map 
    try{ 
     if(selectedObject != null || selectedObject != '' || selectedObject != '--Select Object--'){    
      Map<String, Schema.SObjectField> fieldMap = schemaMap.get(selectedObject).getDescribe().fields.getMap();   
      for(Schema.SObjectField sfield : fieldMap.Values()){ 
       schema.describefieldresult dfield = sfield.getDescribe(); 
       schema.Displaytype disfield= dfield.getType(); 
       system.debug('#######' + dfield);  
       if(dfield.getType() == Schema.displayType.Phone){// Over here I am trying to findout all the PHONE Type fields in the object(Both Custom/Standard) 
        fieldsName.add('Name:'+dfield.getName() +' Label:'+ dfield.getLabel()); 
       } 
      } 
     } 
    }catch(Exception ex){   
     apexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR,'There is no Phone or Fax Field Exist for selected Object!')); 
    }   
    return fieldsName; 
} 

樣品輸出列表::

名稱:Home_Phone__c標籤:家庭電話 名稱:Office_Phone__c標籤:辦公電話

+0

我在Java中使用Salesforce API。上面的代碼在我的情況下不起作用,因爲它在Apex中。 –