HOW TO:使用查詢設計工具設計查詢
查詢會傳回符合特定準則的資料。 如需詳細資訊,請參閱查詢:從資料來源擷取資訊。 使用查詢將資訊顯示在畫面中。 您也可以在自訂商務邏輯中使用查詢的結果。
若要開始,請將查詢加入至專案。 如需詳細資訊,請參閱HOW TO:新增、移除和修改查詢。 查詢會自動在查詢設計工具中開啟。 在查詢設計工具中,執行下列任何工作以設計查詢:
加入篩選條件。
「篩選條件」(Filter Condition) 描述個別資料列必須通過才能包含在結果中的測試。
在篩選條件中使用參數.
應用程式的使用者在使用者介面 (UI) 上輸入資訊或進行選取,就可以在執行階段提供參數值。
將篩選條件組成群組。
使用篩選群組以確保將一組篩選條件當做不同於其他篩選條件的單一單元進行評估。
加入排序條件。
「排序條件」(Sort Term) 可讓您設定由查詢傳回之資料列的初始排序順序。
重新排序篩選條件、篩選群組、排序條件和參數。
您可以變更在查詢中對篩選條件、篩選群組、排序條件和參數進行評估的順序。
加入篩選條件
篩選條件會指定您希望查詢傳回的資料列。 例如,您可以加入篩選條件,只傳回位於紐約的客戶。 篩選條件是做為中的一個搜尋條件傳統 SQL 陳述式的 WHERE 子句的相同。 篩選條件包含選取範圍屬性、運算子、比較型別和比較值。 以布林運算子分隔篩選條件。
下圖顯示篩選條件的組成部分。
若要加入篩選條件
在 [查詢設計工具] 中,展開查詢的 [篩選] 區段。
在 [篩選] 區段中,按一下 [加入篩選條件]。
篩選條件會加入至 [篩選]。 在篩選條件的旁邊會顯示數個下拉式清單和一個文字方塊。
在第一個下拉式清單中,選取下列其中一個條件:
選取 [Where] 傳回符合篩選條件其餘部分的所有資料列。
選取 [Where Not] 傳回不符合篩選條件其餘部分的資料列。
在第二個下拉式清單中,選取您要用於篩選條件的屬性。
例如,如果您希望查詢傳回特定訂單日期的銷售訂單,則選取範圍屬性就會是 OrderDate。
在第三個下拉式清單中,選取您要使用的運算子。
例如,要傳回訂單日期早於 2009 年 9 月 22 日上午 12:00:00 的銷售訂單,請選取 [<] (小於) 運算子。
加入比較值。 若要做到這一點,按一下篩選條件結尾出現的文字方塊旁的按鈕,然後按下列其中按鈕:
按一下 [常值] 以輸入要用來當做比較值的值。
按一下 [屬性] 以使用屬性做為比較值。
如果您選取此選項,文字方塊將會變成下拉式清單。
按一下 [參數] 以加入參數做為比較值。
如果您選取此選項,文字方塊將會變成下拉式清單。
注意事項 對於某些類型的欄位 (例如 DateTime 欄位),您可以按一下 [全域] 使用相對值,例如 [現在]、[今天] 或 [每週開始日]。
在篩選條件結尾出現的下拉式清單或文字方塊中,執行下列其中一個步驟:
如果您在上一個步驟中選取 [常值],請輸入像 9/22/2009 12:00:00 AM 這樣的值。
如果您在上一個步驟中選取 [屬性],請選取或輸入屬性的名稱。
如果您在上一個步驟中選取 [參數],請選取參數。
重複步驟 2-7,將任意數量的篩選條件加入至查詢。
您可以使用下列其中一個布林運算子,將篩選條件與其他篩選條件產生關聯:[And]、[Or]、[And Not]、[Or Not]。
在篩選條件中使用參數
您可以加入參數做為篩選條件中的比較值。 您可以設計讓使用者能夠在執行階段提供此值的畫面。 如果從自訂商務邏輯中執行查詢,您也可以提供此值做為查詢方法的參數。
若要將參數加入至查詢
在 [查詢設計工具] 中,展開 [參數] 區段。
在設計工具的 [參數] 區段中,按一下 [加入參數]。
參數會加入至 [參數] 區段。 文字方塊和下拉式清單會顯示為參數的一部分。
在參數的文字方塊中提供名稱 (例如,SalesTerritory)。
在參數的下拉式清單中,選取參數的資料型別 (例如,[字串])。
在 [檢視] 功能表中,按一下 [屬性視窗]。
在 [屬性] 視窗中,按一下或清除 [是選擇項] 核取方塊。
如果您想要讓查詢在參數值為 Null 時排除使用該參數的篩選條件,請選取 [是選擇項] 核取方塊。
如果您希望查詢永遠包含使用參數的篩選條件時 (即使該參數值為 Null 時),請清除 [是選擇項] 核取方塊。 如果參數值為 Null,則會在評估篩選條件時將 Null 值用來做為比較值。
在 [查詢設計工具] 中,展開 [篩選] 區段。
在設計工具的 [篩選] 區段中,指向篩選條件,按一下篩選條件結尾的按鈕,然後按一下 [參數]。
在按鈕旁邊的下拉式清單中,選取參數。
您可以讓使用者在畫面中輸入或選取參數值。 例如,您可以設計讓使用者能夠選取銷售地區檢視客戶清單的畫面。
或者,也可以將參數繫結至其他清單中的屬性。 例如,您可以設計讓使用者能夠選取客戶檢視銷售訂單清單的畫面。 如需如何讓使用者能夠在畫面上提供參數值的詳細資訊,請參閱 HOW TO:為查詢參數提供值。
將篩選條件組成群組
您可以將篩選條件組成群組,以便做為個別單元進行評估。 群組篩選條件就像是在 SQL 陳述式的運算式周圍加上括號一樣。 括號中的運算式會在陳述式中的其他運算式之前進行評估。
下圖顯示的是兩個篩選群組。
若要建立篩選群組
在 [查詢設計工具] 中,展開 [篩選] 區段。
在設計工具的 [篩選] 區段中,指向 [加入篩選條件],按一下向下箭頭,然後按一下 [群組]。
篩選群組會加入至 [篩選] 區段。 新的篩選條件會加入至篩選群組。
若要將篩選條件加入至篩選群組
請執行下列其中一個步驟:
在篩選群組的底部,按一下 [加入篩選條件]。
注意事項 [加入篩選條件] 按鈕會出現在篩選群組敘述行的結尾。
將任何現有的篩選條件從設計工具的 [篩選] 區段拖曳至篩選群組。
若要將篩選群組加入至另一個篩選群組
請執行下列其中一個步驟:
在篩選群組的底部,指向 [加入篩選條件],按一下向下箭頭,然後按一下 [群組]。
注意事項 [加入篩選條件] 按鈕會出現在篩選群組敘述行的結尾。
將任何現有的篩選群組從設計工具的 [篩選] 區段拖曳至篩選群組。
子篩選群組會包括在父篩選群組中。
您可以使用下列其中一個布林運算子,將篩選群組與查詢中的其他條件及群組產生關聯:[And]、[Or]、[And Not]、[Or Not]。
加入排序條件
您可以加入一個或多個排序條件來指定顯示查詢結果的順序。 排序條件與傳統 SQL 陳述式 ORDER BY 子句中的欄位類似。
若要排序查詢結果
在 [查詢設計工具] 中,展開 [排序] 區段。
在設計工具的 [排序] 區段中,按一下 [加入排序]。
排序條件會加入至排序條件清單。 排序條件旁邊會出現兩個下拉式清單。
在第一個下拉式清單中,選取您要用於排序條件的屬性。 例如,要依據姓氏排序連絡人,請選取 Contact 實體的 LastName 屬性。
在第二個下拉式清單中,選取下列其中一個項目:
選取 [遞增],將結果從最小排序到最大。 例如,首先顯示以字母 A 開頭的姓氏。 最後顯示以字母 Z 開頭的姓氏。
選取 [遞減],將結果從最大排序到最小。 例如,首先顯示以字母 Z 開頭的姓氏。 最後顯示以字母 A 開頭的姓氏。
重複步驟 2-4,將任意數量的排序條件加入至查詢。
排序條件僅設定顯示在畫面中資料列的初始排序順序。 使用者可以和畫面進行互動,依照不同的順序檢視資料列。
重新排序篩選條件、篩選群組、排序條件和參數
您可以變更在查詢中對篩選條件、篩選群組、排序條件和參數進行評估的順序。
若要重新排序篩選條件和篩選群組
在 [查詢設計工具] 中,展開 [篩選] 區段。
在設計工具的 [篩選] 區段中,將篩選條件或篩選群組拖曳至在清單中較高或較低的位置。
若要重新排列排序條件
在 [查詢設計工具] 中,展開 [排序] 區段。
在設計工具的 [排序] 區段中,將排序條件拖曳至清單中較高或較低的位置。
變更排序條件的順序會影響資料在查詢結果中的排序方式。 例如,假設有兩個排序條件,一個依據 SalesTerritory 排序資料,而另一個依據 OrderDate 進行排序。 在此範例中,首先會依據 SalesTerritory 排序訂單。 然後每個 SalesTerritory 群組中的訂單就會依據其訂單日期進行排序。
若要重新排列參數
在 [查詢設計工具] 中,展開 [參數] 區段。
在設計工具的 [參數] 區段中,將參數拖曳至清單中較高或較低的位置。
後續步驟
若要了解如何在畫面中使用查詢,請參閱 如何:建立 Silverlight 螢幕。
若要了解如何以超越查詢設計工具功能的方式擴充查詢,請參閱 HOW TO:使用程式碼擴充查詢的功能。