使用UserRoleID获取所有用户

时间:2014-05-15 13:17:43

标签: apex-code soql

我正在尝试获取角色的所有用户,并将他们的电子邮件添加到字符串[]中,我有一些语法。

Error:"common.apex.runtime.impl.ExecutionException: Attempt to de-reference a null object"|0x2f253344

我的代码。

    String[] s;
    for (User a : [Select id,name,email from User where UserRoleId = '00E90000000dffgEAA']) {
        s.add(a.email);
    }

2 个答案:

答案 0 :(得分:0)

我认为,它给出了错误,因为你的soql查询没有返回任何行。 你可以做这样的事情来摆脱错误......

Integer number_of_rows =  [Select id,name,email from User where UserRoleId = '00E90000000dffgEAA'];
if(number_of_rows>0)
{
    String[] s;
    for (User a : [Select id,name,email from User where UserRoleId = '00E90000000dffgEAA']) {
        s.add(a.email);
    }
}

答案 1 :(得分:0)

字符串列表应该由空列表初始化。这很容易。

String[] s = new String[] {};