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

  • 相关阅读:
    【矩阵乘法优化dp】[Codeforces 621E] Wet Shark and Blocks
    【2016常州一中夏令营Day7】
    【2016常州一中夏令营Day6】
    【2016常州一中夏令营Day5】
    【2016常州一中夏令营Day4】
    【2016常州一中夏令营Day3】
    【2016常州一中夏令营Day2】
    Aiopr的中文意思
    Bloom filter
    redis4.0.2集群搭建
  • 原文地址:https://www.cnblogs.com/clsriz/p/14690685.html
Copyright © 2011-2022 走看看