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

  • 相关阅读:
    FastDFS 与 Nginx 实现分布式图片服务器
    git(三) 使用github
    html表单笔记
    Jquery笔记和ajax笔记
    CSS笔记
    javascript笔记
    idea笔记
    spring boot 框架设计步骤
    spring boot启动项的问题
    Loading class `com.mysql.jdbc.Driver'. The new driver class is `com.mysql.cj.jdb 问题
  • 原文地址:https://www.cnblogs.com/clsriz/p/14690685.html
Copyright © 2011-2022 走看看