0

次のように、Salesforce標準オブジェクトを抽出するためのJavaでの簡単なSOQLクエリがあります-

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

QueryResult qr = connection.query(soqlQuery);

オブジェクト フィールドのデータ型を取得したい。

4

2 に答える 2

1

以下に、Salesforce ORG のカスタム オブジェクトまたは標準オブジェクトに存在する電話フィールドとそのラベルのリストを提供する小さな関数を作成しました。これが、コードのビジネス ロジックを記述するのに役立つことを願っています。

 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;
}   

文字列のサンプル OUTPUT リスト::

名前: Home_Phone__c ラベル: 自宅の電話 名前: Office_Phone__c ラベル: オフィスの電話

于 2012-09-25T10:16:01.083 に答える