您可以在VF頁面上的Javascript中或您編寫的任何類型的Javascript中使用SOQL,就像我們可以通過單擊按鈕或記錄的詳細信息頁面上存在的連結將其執行一樣。以下是簡單的示例,您可以使用它並進行相應的修改:
JavaScript代碼:
{!REQUIRESCRIPT("/soap/ajax/24.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/24.0/apex.js")}
try{
var query = "SELECT Id,Name from Account LIMIT 2";
var records = sforce.connection.query(query);
var records1 = records.getArray('records');
alert(records);
var accountNames = '';
for(var i=0;i<records1.length;i++){
accountNames = accountNames + records1[i].Name + ',';
}
alert(accountNames);
if(records1.length == 1){
//window.location.href = 'http://www.google.com';
}
else{
alert('There is no Account');
}
}
catch(e){
alert('An Error has Occured. Error:' +e);
}
您需要使用前兩行中的.js文件,以便使用salesforce的api使用SOQL連接和獲取記錄。在例子中,您將在警報語句中看到SOQL的結果。返回的結果包含一個名為「 records」的名為數組的組件,該組件可用於遍歷並遍歷所有記錄並以與通常的apex程序相同的方式使用它。對於前account.id,account.Name等。
您還可以使用合併欄位來創建動態查詢。
同樣,您可以使用JavaScript通過API創建,更新或刪除Salesforce對象的記錄。以下是可用於在組織中創建新客戶記錄的示例代碼。
Javascript代碼: 您只需要創建一個新按鈕並填寫詳細信息,如屏幕截圖中所示:
try{
var accounts = [];
var account = new sforce.SObject("Account");
account.Name = "my new account Test";
accounts.push(account);
var results = sforce.connection.create(accounts);
if (results[0].getBoolean("success")) {
alert("new account created with id " + results[0].id);
} else {
alert("failed to create account " + results[0]);
}
}
catch(e){
alert('An Error has Occured. Error:' +e);
}