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

  • 相关阅读:
    华为2016校园招聘上机笔试题
    android SQLite 使用
    handler
    fragment 给 activity 传数据
    activity 给 fragment 传递数据
    fragment (动态加载)
    fragment (静态)
    Java学习随笔之磨刀篇——环境搭建+问候世界
    Go语言设计哲学
    Ubuntu设置护眼程序
  • 原文地址:https://www.cnblogs.com/clsriz/p/14690685.html
Copyright © 2011-2022 走看看