Apex,SOQL,将数据库中的结果添加到列表中,错误
Apex, SOQL, add results from database to the List, error
我想将数据库中的结果添加到列表中。但是有一个bug。
String str = '\'AOC\',\'BPD\',\'CRE\'';
List<String> lstString = str.split(',');
List<Shop_Product__c> productList = new List<Shop_Product__c>();
Integer i = 0;
for (String record: lstString) {
System.debug('record[' + i + ']: ' + record);
if ((record != null) && (productList != null)) {
productList.add([SELECT Id, Brand__c
FROM Shop_Product__c
WHERE Brand__c = :record
LIMIT 10]);
System.debug('productList[' + i + ']: ' + productList);
System.debug('Here in for ----------------------------------------');
}
++i;
}
错误是 System.QueryException:List 没有要分配给 SObject 的行。
Here是不是说明了,但是我不明白我应该怎么做。
List
方法 add()
采用单个 sObject。这就是为什么你得到 QueryException
,就像在你 link 的例子中一样。
可以使用addAll()
方法创建List<sObject>
上下文,避免没有响应记录时出现异常
我想将数据库中的结果添加到列表中。但是有一个bug。
String str = '\'AOC\',\'BPD\',\'CRE\'';
List<String> lstString = str.split(',');
List<Shop_Product__c> productList = new List<Shop_Product__c>();
Integer i = 0;
for (String record: lstString) {
System.debug('record[' + i + ']: ' + record);
if ((record != null) && (productList != null)) {
productList.add([SELECT Id, Brand__c
FROM Shop_Product__c
WHERE Brand__c = :record
LIMIT 10]);
System.debug('productList[' + i + ']: ' + productList);
System.debug('Here in for ----------------------------------------');
}
++i;
}
错误是 System.QueryException:List 没有要分配给 SObject 的行。 Here是不是说明了,但是我不明白我应该怎么做。
List
方法 add()
采用单个 sObject。这就是为什么你得到 QueryException
,就像在你 link 的例子中一样。
可以使用addAll()
方法创建List<sObject>
上下文,避免没有响应记录时出现异常