如何:使用 LINQ 呼叫預存程序 (Visual Basic)
語言整合查詢 (Language-Integrated Query,簡稱 LINQ) 可讓您輕鬆存取資料庫資訊,包括像預存程序之類的資料庫物件。
下列範例示範如何建立一個應用程式,以呼叫 SQL Server 資料庫中的預存程序。 該範例示範如何呼叫該資料庫中的兩個不同預存程序。 每一個程序都會傳回查詢的結果。 其中一個程序接受輸入參數,而另一個程序不接受參數。
本主題中的範例會使用 Northwind 範例資料庫。 如果您的開發電腦上沒有這個資料庫,則可以從 Microsoft 下載中心下載。 如需相關指示,請參閱下載範例資料庫。
注意
在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱將 Visual Studio IDE 個人化。
建立與資料庫的連線
在 Visual Studio 中,按一下 [檢視] 功能表上的 [伺服器總管]/[資料庫總管],以開啟 [伺服器總管]/[資料庫總管]。
在 [伺服器總管]/[資料庫總管] 中,以滑鼠右鍵按一下 [資料連線],然後按一下 [新增連線]。
指定 Northwind 範例資料庫的有效連線。
新增包含 LINQ to SQL 檔案的專案
在 Visual Studio 的 [檔案] 功能表上,指向 [新增],然後按一下 [專案]。 將 Visual Basic 的 [Windows Forms 應用程式] 選為專案類型。
在 [專案] 功能表上,按一下 [加入新項目]。 選取 [LINQ to SQL 類別] 項目範本。
將檔案命名為
northwind.dbml
。 按一下新增。 物件關聯式設計工具 (O/R 設計工具) 已為 northwind.dbml 開啟。
若要將預存程序新增至 O/R 設計工具
在 [伺服器總管]/[資料庫總管] 中,展開與 Northwind 資料庫的連線。 展開 [預存程序] 資料夾。
如果您已關閉 O/R 設計工具,您可以按兩下稍早新增的 northwind.dbml 檔案來重新開啟 O/R 設計工具。
按一下 [依年度銷售] 預存程序,並將它拖曳至設計工具的右窗格。 按一下 [十項最貴的產品] 預存程序,並將它拖曳至設計工具的右窗格。
儲存變更並關閉設計工具。
儲存您的專案。
若要新增程式碼以顯示預存程序的結果
從 [工具箱] 中,將 DataGridView 控制項拖曳至專案的預設 Windows Form (Form1)。
按兩下 Form1 將程式碼新增至其
Load
事件中。當您將預存程序新增至 O/R 設計工具時,設計工具會為您的專案新增 DataContext 物件。 此物件包含您必須存取這些程序的程式碼。 專案的 DataContext 物件會根據 .dbml 檔案的名稱來命名。 以此專案來說,DataContext 物件會命名為
northwindDataContext
。您可以在程式碼中建立 DataContext 的實例,並呼叫 O/R 設計工具所指定的預存程序方法。 若要繫結至 DataGridView 物件,您可能需要必須在預存程序的結果上呼叫 ToList 方法,以強制查詢立即執行。
將下列程式碼新增至
Load
事件,以呼叫任一個作為資料內容方法公開的預存程序。Dim db As New northwindDataContext ' Display the results of the Sales_by_Year stored procedure. DataGridView1.DataSource = db.Sales_by_Year(#1/1/1996#, #1/1/2007#).ToList()
' Display the results of the Ten_Most_Expensive_Products ' stored procedure. DataGridView1.DataSource = db.Ten_Most_Expensive_Products.ToList()
按 F5 執行專案並檢視結果。