Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Salesforce 如何使用apex控制器中的查找字段将数据插入自定义对象_Salesforce_Visualforce_Apex - Fatal编程技术网

Salesforce 如何使用apex控制器中的查找字段将数据插入自定义对象

Salesforce 如何使用apex控制器中的查找字段将数据插入自定义对象,salesforce,visualforce,apex,Salesforce,Visualforce,Apex,我有一个自定义对象MyCustomObj\uu c,它有一个名为“ContactData”的字段 我正在尝试使用以下apex方法将记录插入到自定义对象中。它给出了一个错误: Invalid ID 联系人列表中已存在值Hari 顶点代码: public static String saveData(){ MyCustomObj__c newObj = new MyCustomObj__c(); newObj.contactData__c = 'Hari'; insert

我有一个自定义对象
MyCustomObj\uu c
,它有一个名为“ContactData”的字段

我正在尝试使用以下apex方法将记录插入到自定义对象中。它给出了一个错误:

Invalid ID
联系人列表中已存在值
Hari

顶点代码:

public static String saveData(){
    MyCustomObj__c newObj = new MyCustomObj__c(); 
    newObj.contactData__c = 'Hari';
    insert newObj;
    return "success";
}
static void testInsert(){
    User testUser = new User(username = 'joebieber@hotmail.com', 
    firstname = 'joe', lastname = 'bieber', 
    email = 'joebieber@hotmail.com', Alias = 'jo', 
    CommunityNickname = 'jo', 
    TimeZoneSidKey = 'America/New_York', LocaleSidKey = 'en_US', 
    EmailEncodingKey = 'ISO-8859-1', 
    ProfileId = '00e6000000167RPAAY', 
    LanguageLocaleKey = 'en_US');
    insert testUser;

    List<SObject> sos = Database.query('select username from User');

    List<User> users= new List<User>();
    if( sos != null ){
       for(SObject s : sos){
          if (((User)s).get('username') == 'joebieber@hotmail.com')
            Utils.log('' + ((User)s).get('username') );
       }
    }
}

如何插入行?

您应该传递联系人记录“Hari”的ID

 public static String saveData(){
       MyCustomObj__c newObj = new MyCustomObj__c(); 
       newObj.contactData__c = [SELECT Id 
                                FROM Contact 
                                WHERE Name ='Hari' LIMIT 1].Id;
       insert newObj;
       return "success";
 }

当然,这里应该尽量避免使用SOQL,这只是一个示例。

将数据插入对象的Apex代码:

public static String saveData(){
    MyCustomObj__c newObj = new MyCustomObj__c(); 
    newObj.contactData__c = 'Hari';
    insert newObj;
    return "success";
}
static void testInsert(){
    User testUser = new User(username = 'joebieber@hotmail.com', 
    firstname = 'joe', lastname = 'bieber', 
    email = 'joebieber@hotmail.com', Alias = 'jo', 
    CommunityNickname = 'jo', 
    TimeZoneSidKey = 'America/New_York', LocaleSidKey = 'en_US', 
    EmailEncodingKey = 'ISO-8859-1', 
    ProfileId = '00e6000000167RPAAY', 
    LanguageLocaleKey = 'en_US');
    insert testUser;

    List<SObject> sos = Database.query('select username from User');

    List<User> users= new List<User>();
    if( sos != null ){
       for(SObject s : sos){
          if (((User)s).get('username') == 'joebieber@hotmail.com')
            Utils.log('' + ((User)s).get('username') );
       }
    }
}
static void testInsert(){
用户testUser=新用户(用户名=)joebieber@hotmail.com', 
firstname='joe',lastname='bieber',
电子邮件joebieber@hotmail.com,别名='jo',
社区昵称='jo',
TimeZoneSidKey='美国/纽约',LocaleSidKey='美国',
EmailEncodingKey='ISO-8859-1',
ProfileId='00E600000167RPAAY',
LanguageLocaleKey='en_US');
插入testUser;
List sos=Database.query('select username from User');
列表用户=新列表();
如果(sos!=null){
用于(SObject s:sos){
if(((用户)s).get('username')='joebieber@hotmail.com')
Utils.log(“”+((用户)s.get('username');
}
}
}

应该打印您刚才添加的用户的用户名。

我们可以使用数据加载器将数据移动到数据库中进行查找字段
Guru

Hi@Hari,Salesforce.stackexchange.com上有一个专门针对Salesforce的新stackexchange站点。来加入那边的社区吧!:)感谢您抽出时间提供答案。正是因为像你这样乐于助人的同龄人,我们才能作为一个社区一起学习。