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

  • 相关阅读:
    C语言编程练习41:ACboy needs your help again!
    C语言编程练习40:Ignatius and the Princess II
    C语言编程练习39:Solving Oder
    C语言编程练习38:火车出站
    C语言编程练习37:出栈合法性
    C语言编程练习36:赌徒
    C语言编程练习35:叠筐
    C语言编程练习34:Tr A
    网购手机被坑了?
    meta标签
  • 原文地址:https://www.cnblogs.com/clsriz/p/14690685.html
Copyright © 2011-2022 走看看