共用方式為


以文字為基礎的查詢設計工具使用者介面 (報表產生器 3.0)

使用以文字為基礎的查詢設計工具,可透過資料來源支援的查詢語言來指定查詢、執行查詢,並在設計階段檢視結果。您可以指定多個 Transact-SQL 陳述式、自訂資料處理延伸模組的查詢或命令語法,以及指定為運算式的查詢。以文字為基礎的查詢設計工具不會前置處理查詢,而且可以容納各種查詢語法,所以這是許多資料來源類型的預設查詢設計工具。

安全性注意事項安全性注意事項

當使用者建立與執行查詢時,可以存取資料來源。您應該授與資料來源的最小權限,例如唯讀權限。

以文字為基礎的查詢設計工具會顯示一個工具列及以下兩個窗格:

  • 查詢:根據查詢類型顯示查詢文字、資料表名稱或預存程序名稱。並非所有的資料來源類型都提供所有的查詢類型。例如,只有資料來源類型 OLE DB 才支援資料表名稱。

  • 結果:顯示在設計階段執行查詢的結果。

以文字為基礎的查詢設計工具工具列

以文字為基礎的查詢設計工具為所有的命令類型提供了單一工具列。下表列出工具列上的每一個按鈕以及該按鈕的功能。

按鈕

描述

當成文字編輯

在以文字為基礎的查詢設計工具和圖形化查詢設計工具之間切換。並非所有的資料來源類型都支援圖形化查詢設計工具。

匯入

從檔案或報表匯入現有的查詢。只支援 sql 和 rdl 檔案類型

執行查詢

執行查詢,並將結果集顯示在 [結果] 窗格中。

命令類型

選取 [Text][StoredProcedure][TableDirect]。如果預存程序含有參數,當您按一下工具列上的 [執行] 時,便會顯示 [定義查詢參數] 對話方塊,您可以依照需要填入值。

附註附註
如果預存程序傳回一個以上的結果集,則只會使用第一個結果集來填入資料集。

Text 命令類型

當您建立 SQL Server 資料集時,預設會開啟關聯式查詢設計工具。若要切換到以文字為基礎的查詢設計工具,請按一下工具列上的 [當成文字編輯] 切換按鈕。以文字為基礎的查詢設計工具提供了兩個窗格:[查詢] 窗格和 [結果] 窗格。下圖會標示出各個窗格。

一般查詢設計工具,適用於關聯式資料查詢

下表會描述各個窗格的功能。

窗格

功能

查詢

顯示 Transact-SQL 查詢文字。使用此窗格,即可撰寫或編輯 Transact-SQL 查詢。

結果

顯示查詢的結果。若要執行查詢,請以滑鼠右鍵按一下任何窗格,然後按一下 [執行],或是按一下工具列上的 [執行] 按鈕。

範例

下列查詢會從 AdventureWorks2008R22008 資料庫的 ContactType 資料表傳回 Person 結構描述的姓氏清單。

SELECT Name FROM Person.ContactType

當您按一下工具列上的 [執行] 時,[查詢] 窗格中的命令便會執行,而且結果會顯示在 [結果] 窗格中。結果集會顯示 20 種連絡人類型的清單,例如「擁有者」或「銷售代理人」。

StoredProcedure 命令類型

當您選取 [命令類型 StoredProcedure] 時,以文字為基礎的查詢設計工具會提供兩個窗格:[查詢] 窗格和 [結果] 窗格。請在 [查詢] 窗格內輸入預存程序名稱,然後按一下工具列上的 [執行]。如果預存程序使用參數,[定義查詢參數] 對話方塊隨即開啟。為此預存程序輸入參數值。系統將會針對每一個預存程序輸入參數建立報表參數。

下圖會在您執行預存程序時,顯示 [查詢] 和 [結果] 窗格。在此情況下,輸入參數是常數。

以文字為基礎的查詢設計工具中的預存程序

下表會描述各個窗格的功能。

窗格

功能

查詢

顯示預存程序的名稱以及任何輸入參數。

結果

顯示查詢的結果。若要執行查詢,請以滑鼠右鍵按一下任何窗格,然後按一下 [執行],或是按一下工具列上的 [執行] 按鈕。

範例

下列查詢會呼叫 AdventureWorks2008R22008 預存程序 uspGetWhereUsedProductID。當您執行查詢時,必須為產品識別碼參數輸入值。

uspGetWhereUsedProductID

按一下 [執行] (!) 按鈕。提示輸入查詢參數時,請使用下表來輸入值。

@StartProductID

820

@CheckDate

20010115

對於指定的日期,結果集會顯示 13 個產品識別碼 (使用指定的元件編號) 的清單。

TableDirect 命令類型

當您選取 [命令類型 TableDirect] 時,以文字為基礎的查詢設計工具會提供兩個窗格:[查詢] 窗格和 [結果] 窗格。當您輸入資料表並按一下 [執行] 按鈕時,便會傳回該資料表的所有資料行。

範例

對於資料來源類型 OLE DB,下列的資料集查詢會傳回 AdventureWorks2008R22008 資料庫中所有連絡人類型的結果集。

Person.ContactType

當您輸入資料表名稱 Person.ContactType 時,就等於建立 Transact-SQL 陳述式 SELECT * FROM Person.ContactType。