SOQLで全てのフィールドを選択(SELECT *)
Force.comではSQL ServerやOracleといったDBMSで利用していたSQL文
SELECT * が利用できない、、
固定でフィールド名を記述すると変更するときが
影響がでかいのでやだ、ということで以下のようなメソッドを作って
文字列結合させてSOQLを発行したらできたよ。
// SObjectのフィールドをカンマ区切りで返す public String getAllFieldsNames(Schema.SObjecttype type) { List<String> result = New List<String>{}; Map<String, Schema.sObjectField> omap = type.getDescribe().fields.getMap(); for(String s: omap.keySet()) { // カスタム項目だけ選択 if (s.endsWith('__c')) { result.add(s); } } return String.join(result, ','); } // SOQL発行 List<Account> lsta = Database.query( ' SELECT ID, Name, ' + getAllFieldsNames(Account.SObjecttype) + ' FROM Account' );
標準のオブジェクト(Account等)は標準の項目を取得すると、
いくつか利用できない項目があるので、カスタム項目だけ取得するようにしたよ。
日々精進。ほんならね