本篇内容介绍了“Salesforce中如何使用DML语句来完成数据的修改”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一 . DML语句
DML是为了执行插入,更新,删除,上升,恢复记录,合并记录或转换引线操作而执行的动作。
DML是Apex中最重要的部分之一,因为几乎每个业务案例都涉及对数据库的更改和修改
SOQL全称为Salesforce Object Query Language.通过SOQL语句可以操作sObject的增删改查等操作。
例子 :
下面还是以上面Student表进行举例。
Student表的API Name 为Student__c,所以在apex中,只要对Student__c对象进行相应的DML操作,即为对Student数据表操作
注意 : apex代码通过操作表以及列对应的API Name来对表进行增删改查操作处理.
/*sObject有常用的两种初始化方式,第一种为常见的new 第二种为new时将参数作为构造函数内容穿进去,多个参数使用','分隔 */ Student__c student1 = new Student(Name__c='student1'); Student__c student2 = new Student(); student2.Name__c = 'student2'; //增加一条学生记录--> insert insert student1;//SOQL 增加记录的简便写法,同Database.insert(student1),详见文档 insert student2; //修改一条学生记录--> update student1.Name__c = 'student update'; update student1;//SOQL修改记录简便写法,同Database.update(student1) /*增加或修改一条学生记录 upsert upsert原理:upsert通过是否存在此ID来判断此条记录是否存在, 1.如果不存在此ID则执行insert操作; 2.如果存在并且只存在一个ID,则执行update操作; 3.存在并且存在多个ID,则抛出DMLException */ //当上方执行insert语句时,Id便赋予student1,所以下方代码执行update操作 student1.Name__c = 'student upsert'; upsert student1;//SOQL简便写法,同Database.upsert(student1); //删除一条学生记录 delete delete student2;//SOQL简便写法,同Database.delete(student2); 注意:进行DML 操作时有可能发生DMLException,所以在进行DML操作时最好进行try,catch处理。 eg: try { insert student1; } catch(DMLException e) { // TODO } finally { // TODO }
查询语句返回List<sObject>数据,查询语句也可以进行相应的复杂处理,例如进行where查询,include,exclude,limit等等操作,此部分内容太多,此篇只讲述最基本的查询操作,以后篇会详细探讨SOQL语句细节以及多表关联的查询等操作。
where语句中经常伴随着参数传递,比如查询学生表中姓名为zhangsan的个数等,如果采用拼串很容易造成错误,并且代码不易阅读。Apex提供了一种便捷的方式,使用 ':' 符号来声明查询语句中使用的变量,类似于Java中的PreparedStatement。
查询有两种方式,一种为通过[select ...]方式来进行查询,此种方式不利于SQL语句的拓展,故不推荐此种方式;
第二种方式为通过构造查询字符串,通过Database.query(queryString)方法来检索数据,此种方式灵活性扩展性强,推荐此种方式。
另外注意的是:在Force.com平台数据库中,查询不能使用'*'符号代表查询全部字段,如果查询全部字段需要全部列出来。
“Salesforce中如何使用DML语句来完成数据的修改”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。