この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

queryAll()

削除されているかどうかに関わらず、指定されたオブジェクトからデータを検索します。

構文

1QueryResult = connection.queryAll(string queryString);

使用方法

queryAll を使用して、マージまたは削除によって削除されたレコードを識別します。queryAll ���は、項目 isDeleted への参照のみアクセス権があります。それ以外は query() と同じです。

削除されたレコードを (undelete() コールを使用して復元する準備として) 検出するには、クエリ文字列に isDeleted = true と指定し、マージされたレコードについては、masterRecord を要求します。次に例を示します。
1SELECT id, isDeleted, masterRecordId FROM Account WHERE masterRecordId='100000000000Abc'

アーカイブされているかどうかにかかわらず、すべての ToDo行動 のレコード上では、queryAll() でクエリを実行できます。また、アーカイブ済みのオブジェクトのみを探すために、isArchived 項目をで絞り込みを行うことが可能です。query() は、isArchivedtrue に設定されている場合、すべてのレコードを自動的に除外するため、query() は使用できません。アーカイブ済みのレコードの更新や削除は可能ですが、isArchived 項目を更新することはできません。API を使用して下記に示す条件を満たす活動を挿入すると、アーカイブのバックグラウンドプロセスを次に実行するときに活動がアーカイブされます。

Salesforce では外部データへの変更を追跡しないため、queryAll() コールの動作は、外部オブジェクトに対する query() とまったく同じです。

queryAll の使用についての詳細は、query() を参照してください。

サンプルコード —Java

このサンプルでは、クエリを実行して、取引先が削除されているかどうかに関わらず、すべての取引先を取得します。カスタムバッチサイズを 250 レコードに設定します。最初に queryAll()、次に queryMore() をコールしてレコードのすべてのバッチを取得します。すべての返された取引先の名前および isDeleted 項目の値をコンソールに書き込みます。

1swfobject.registerObject("clippy.codeblock-2", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public void queryAllRecords() {
18   // Setting custom batch size
19   connection.setQueryOptions(250);
20   
21   try {
22      String soqlQuery = "SELECT Name, IsDeleted FROM Account";
23      QueryResult qr = connection.queryAll(soqlQuery);
24      boolean done = false;
25      if (qr.getSize() > 0) {
26         System.out.println("Logged-in user can see a total of "
27               + qr.getSize()
28               + " contact records (including deleted records).");
29         while (!done) {
30            SObject[] records = qr.getRecords();
31            for (int i = 0; i < records.length; i++) {
32               Account account = (Account) records[i];
33               boolean isDel = account.getIsDeleted();
34               System.out.println("Account " + (i + 1) + ": "
35                     + account.getName() + " isDeleted = "
36                     + account.getIsDeleted());
37            }
38            if (qr.isDone()) {
39               done = true;
40            } else {
41               qr = connection.queryMore(qr.getQueryLocator());
42            }
43         }
44      } else {
45         System.out.println("No records found.");
46      }
47   } catch (ConnectionException ce) {
48      ce.printStackTrace();
49   }
50}

サンプルコード —C#

このサンプルでは、クエリを実行して、取引先が削除されているかどうかに関わらず、すべての取引先を取得します。カスタムバッチサイズを 250 レコードに設定します。最初に queryAll()、次に queryMore() をコールしてレコードのすべてのバッチを取得します。すべての返された取引先の名前および isDeleted 項目の値をコンソールに書き込みます。

1swfobject.registerObject("clippy.codeblock-3", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public void queryAllRecords()
18{
19   // Setting custom batch size
20   QueryOptions qo = new QueryOptions();
21   qo.batchSize = 250;
22   qo.batchSizeSpecified = true;
23   binding.QueryOptionsValue = qo;
24
25   try
26   {
27      String soqlQuery = "SELECT Name, IsDeleted FROM Account";
28      QueryResult qr = binding.queryAll(soqlQuery);
29      Boolean done = false;
30      if (qr.size > 0)
31      {
32         Console.WriteLine("Logged-in user can see a total of "
33               + qr.size
34               + " contact records (including deleted records).");
35         while (!done)
36         {
37            sObject[] records = qr.records;
38            for (int i = 0; i < records.Length; i++)
39            {
40               Account account = (Account)records[i];
41               Boolean isDel = (Boolean)account.IsDeleted;
42               Console.WriteLine("Account " + (i + 1) + ": "
43                     + account.Name + " isDeleted = "
44                     + account.IsDeleted);
45            }
46            if (qr.done)
47            {
48               done = true;
49            }
50            else
51            {
52               qr = binding.queryMore(qr.queryLocator);
53            }
54         }
55      }
56      else
57      {
58         Console.WriteLine("No records found.");
59      }
60   }
61   catch (SoapException e)
62   {
63      Console.WriteLine("An unexpected error has occurred: " +
64                                 e.Message + "\n" + e.StackTrace);
65   }
66}

引数

名前 説明
queryString string クエリの対象となるオブジェクト、受け取る項目、およびクエリに特定のオブジェクトを含む任意の条件を指定するクエリ文字列。詳細は、Salesforce SOQL および SOSL リファレンスガイド』を参照してください。

応答

QueryResult