我有一个自定义对象MyCustomObj__c
,其中有一个名为“ContactData”的字段。
我正在尝试使用以下apex方法将记录插入自定义对象。它给出了一个错误:
Invalid ID
联系人列表中已存在值Hari
。
顶点代码:
public static String saveData(){
MyCustomObj__c newObj = new MyCustomObj__c();
newObj.contactData__c = 'Hari';
insert newObj;
return "success";
}
如何插入行?
答案 0 :(得分:5)
您应该传递联系人记录的ID' Hari'
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,这只是一个例子。
答案 1 :(得分:0)
将数据插入对象的Apex代码:
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') );
}
}
}
应该打印刚刚添加的用户的用户名。
答案 2 :(得分:0)
我们可以使用数据加载器将数据移动到数据库以查找字段 大师