逐步解說:使用 TableAdapter DBDirect 方法儲存資料
這個逐步解說將會針對如何使用 TableAdapter 的 DBDirect 方法,直接對資料庫執行 SQL 陳述式提供詳細指示。 TableAdapter 的 DBDirect 方法會針對資料庫更新提供精細的控制層級。 透過這些方法,您就可以根據應用程式的需要,呼叫個別的 Insert、Update 和 Delete 方法 (而非在單一呼叫中執行 UPDATE、INSERT 和 DELETE 陳述式的多載 Update 方法),藉以執行特定的 SQL 陳述式和預存程序 (Stored Procedure)。
在瀏覽這份逐步解說期間,您將了解如何:
建立新的 [Windows 應用程式]。
利用資料來源組態精靈建立及設定資料集。
選取當從 [資料來源] 視窗拖曳項目時要在表單上建立的控制項。 如需詳細資訊,請參閱 HOW TO:設定從資料來源視窗拖曳時要建立的控制項。
從 [資料來源] 視窗將項目拖曳至表單上,藉以建立資料繫結表單。
加入方法,以便直接存取資料庫,並且直接對資料庫執行插入、更新和刪除等動作。
必要條件
若要完成這個逐步解說,您必須要有:
- Northwind 範例資料庫的存取權。 如需詳細資訊,請參閱 HOW TO:安裝範例資料庫。
建立 Windows 應用程式
第一個步驟是要建立一個 [Windows 應用程式]。
若要建立新的 Windows 專案
在 Visual Studio 中,從 [檔案] 功能表建立新的 [專案]。
將專案命名為 TableAdapterDbDirectMethodsWalkthrough。
選取 [Windows 應用程式],並按 [確定]。 如需詳細資訊,請參閱建立 Windows 架構的應用程式。
隨即建立 [TableAdapterDbDirectMethodsWalkthrough] 專案並將其加入至 [方案總管]。
從資料庫中建立資料來源
這個步驟會使用 [資料來源組態精靈],根據 Northwind 範例資料庫的 Region 資料表來建立資料來源。 您必須可以存取 Northwind 範例資料庫,才能建立連接。 如需設定 Northwind 範例資料庫的詳細資訊,請參閱 HOW TO:安裝範例資料庫。
若要建立資料來源
按一下 [資料] 功能表上的 [顯示資料來源]。
在 [資料來源] 視窗中,選取 [加入新資料來源],啟動 [資料來源組態精靈]。
請選取 [選擇資料來源類型] 頁面上的 [資料庫],再按 [下一步]。
在 [選擇資料連接] 頁面上,執行下列其中一項動作:
如果下拉式清單中有提供 Northwind 範例資料庫的資料連接,請選取這個資料連接。
-或-
選取 [新增連接],啟動 [新增/修改連接] 對話方塊。 如需詳細資訊,請參閱新增/修改連接對話方塊 (一般)。
如果資料庫需要密碼,請選取選項來加入敏感性資料,然後按一下 [下一步]。
按一下 [將連接字串儲存到應用程式組態檔] 頁面上的 [下一步]。
在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。
選取 Region 資料表,再按一下 [完成]。
[NorthwindDataSet] 會加入專案中,而且 Region 資料表會出現在 [資料來源] 視窗中。
將控制項加入至表單以便顯示資料
從 [資料來源] 視窗將項目拖曳至表單上,藉以建立資料繫結控制項。
若要在 Windows Form 上建立資料繫結控制項
從 [資料來源] 視窗,將 [區域] 主節點拖曳至表單上。
DataGridView 控制項以及用於巡覽資料錄的工具區域 (BindingNavigator) 會出現在表單上。 NorthwindDataSet、RegionTableAdapter、BindingSource 和 BindingNavigator 則會出現在元件匣中。
若要加入將會呼叫個別 TableAdapter DbDirect 方法的按鈕
從 [工具箱] 將三個 Button 控制項拖曳至 [Form1] ([RegionDataGridView] 底下)。
在每個按鈕上設定下列 [Name] 和 [Text] 屬性。
Name
Text
InsertButton
插入
UpdateButton
更新
DeleteButton
刪除
若要加入可將新資料錄插入資料庫中的程式碼
按兩下 [InsertButton] 即可建立 Click 事件的事件處理常式,並在 [程式碼編輯器] 中開啟表單。
用下列程式碼取代 InsertButton_Click 事件處理常式:
Private Sub InsertButton_Click() Handles InsertButton.Click Dim newRegionID As Integer = 5 Dim newRegionDescription As String = "NorthEastern" Try RegionTableAdapter1.Insert(newRegionID, newRegionDescription) Catch ex As Exception MessageBox.Show("Insert Failed") End Try RefreshDataset() End Sub Private Sub RefreshDataset() Me.RegionTableAdapter1.Fill(Me.NorthwindDataSet1._Region) End Sub
private void InsertButton_Click(object sender, EventArgs e) { Int32 newRegionID = 5; String newRegionDescription = "NorthEastern"; try { regionTableAdapter1.Insert(newRegionID, newRegionDescription); } catch (Exception ex) { MessageBox.Show("Insert Failed"); } RefreshDataset(); } private void RefreshDataset() { this.regionTableAdapter1.Fill(this.northwindDataSet1.Region); }
若要加入可更新資料庫中資料錄的程式碼
按兩下 [UpdateButton] 即可建立 Click 事件的事件處理常式,並在 [程式碼編輯器] 中開啟表單。
用下列程式碼取代 UpdateButton_Click 事件處理常式:
Private Sub UpdateButton_Click() Handles UpdateButton.Click Dim newRegionID As Integer = 5 Try RegionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern") Catch ex As Exception MessageBox.Show("Update Failed") End Try RefreshDataset() End Sub
private void UpdateButton_Click(object sender, EventArgs e) { Int32 newRegionID = 5; try { regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern"); } catch (Exception ex) { MessageBox.Show("Update Failed"); } RefreshDataset(); }
若要加入可從資料庫刪除資料錄的程式碼
按兩下 [DeleteButton] 即可建立 Click 事件的事件處理常式,並在 [程式碼編輯器] 中開啟表單。
用下列程式碼取代 DeleteButton_Click 事件處理常式:
Private Sub DeleteButton_Click() Handles DeleteButton.Click Try RegionTableAdapter1.Delete(5, "Updated Region Description") Catch ex As Exception MessageBox.Show("Delete Failed") End Try RefreshDataset() End Sub
private void DeleteButton_Click(object sender, EventArgs e) { try { regionTableAdapter1.Delete(5, "Updated Region Description"); } catch (Exception ex) { MessageBox.Show("Delete Failed"); } RefreshDataset(); }
執行應用程式
若要執行應用程式
請按 F5 以執行應用程式。
按一下 [插入] 按鈕,並確定新的資料錄已顯示在方格中。
按一下 [更新] 按鈕,並確定方格中的資料錄已更新。
按一下 [刪除] 按鈕,並確定已從方格中移除資料錄。
後續步驟
根據應用程式的需求而定,您在建立資料繫結表單後可能還會想執行幾個步驟。 您可以對這個逐步解說加強的部分包括:
將搜尋功能加入表單中。 如需詳細資訊,請參閱 HOW TO:將參數型查詢加入至 Windows Form 應用程式。
從 [資料來源] 視窗中選取 [以精靈設定資料集],即可將其他資料表加入至資料集。 您可以將相關的節點拖曳至表單上,藉以加入顯示相關資料的控制項。 如需詳細資訊,請參閱 HOW TO:在 Windows Form 應用程式中顯示相關的資料。
請參閱
工作
概念
將 Windows Form 控制項繫結至 Visual Studio 中的資料