zoukankan      html  css  js  c++  java
  • Salesforce: getId() in Database.SaveResult

    需求:

    在保存一组数据之后,希望可以收集报错数据的Id以及报错信息。

    初始代码:

    String errors = '';
    List<Database.SaveResult> results = Database.update(updatedAccounts, false);
    checkUpdatedResults(results);
    private void checkUpdatedResults(List<Database.SaveResult> results) {
      for (Database.SaveResult result : results) {
        if (!result.isSuccess()) {
          errors += result.getId() + ': ' + result.getErrors() + '<br/>';
        }
      }
    }

    该代码result.getId() 得到的结果为null, 并不能获取报错数据的Id

    经查询相关文档发现,getId() 方法只能收集保存成功的数据的Id, 若数据保存失败,则只会返回null

    所以如果想要收集报错数据的Id, 代码修改如下:

    String errors = '';
    List<Database.SaveResult> results = Database.update(updatedAccounts, false);
    checkUpdatedResults(updatedAccounts, results);
    private void checkUpdatedResults(List<Account> updatedAccounts, List<Database.SaveResult> results) {
      for (Integer i = 0; i < updatedAccounts.size(); i++) {
        Database.SaveResult result = results[i];
        if (!result.isSuccess()) {
          errors += updatedAccounts[i].Id + ': ' + result.getErrors() + '<br/>';
        }
      }
    }

  • 相关阅读:
    方法和参数
    【转】priority_queue优先队列
    【转】主席树学习
    【转】树链剖分
    【转】线段树完全版~by NotOnlySuccess
    【转】树状数组
    【转】最大流EK算法
    【转】POJ题目分类推荐 (很好很有层次感)
    【转】原根
    【转】Polya定理
  • 原文地址:https://www.cnblogs.com/clsriz/p/14690685.html
Copyright © 2011-2022 走看看