您好,登錄后才能下訂單哦!
本篇內容介紹了“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。