共用方式為


逐步解說:使用 TableAdapter DBDirect 方法儲存資料

這個逐步解說將會針對如何使用 TableAdapter 的 DBDirect 方法,直接對資料庫執行 SQL 陳述式提供詳細指示。 TableAdapter 的 DBDirect 方法會針對資料庫更新提供精細的控制層級。 透過這些方法,您就可以根據應用程式的需要,呼叫個別的 Insert、Update 和 Delete 方法 (而非在單一呼叫中執行 UPDATE、INSERT 和 DELETE 陳述式的多載 Update 方法),藉以執行特定的 SQL 陳述式和預存程序 (Stored Procedure)。

在瀏覽這份逐步解說期間,您將了解如何:

  • 建立新的 [Windows 應用程式]。

  • 利用資料來源組態精靈建立及設定資料集。

  • 選取當從 [資料來源] 視窗拖曳項目時要在表單上建立的控制項。 如需詳細資訊,請參閱 HOW TO:設定從資料來源視窗拖曳時要建立的控制項

  • 從 [資料來源] 視窗將項目拖曳至表單上,藉以建立資料繫結表單。

  • 加入方法,以便直接存取資料庫,並且直接對資料庫執行插入、更新和刪除等動作。

必要條件

若要完成這個逐步解說,您必須要有:

建立 Windows 應用程式

第一個步驟是建立 [Windows 應用程式]。

若要建立新的 Windows 專案

  1. 在 Visual Studio 中,從 [檔案] 功能表建立新的 [專案]。

  2. 將專案命名為 TableAdapterDbDirectMethodsWalkthrough。

  3. 選取 [Windows 應用程式],並按一下 [確定]。 如需詳細資訊,請參閱開發用戶端應用程式

    隨即建立 [TableAdapterDbDirectMethodsWalkthrough] 專案並將其加入至 [方案總管]。

從資料庫中建立資料來源

這個步驟會使用 [資料來源組態精靈],根據 Northwind 範例資料庫的 Region 資料表來建立資料來源。 您必須可以存取 Northwind 範例資料庫,才能建立連接。 如需設定 Northwind 範例資料庫的詳細資訊,請參閱 HOW TO:安裝範例資料庫

若要建立資料來源

  1. 按一下 [資料] 功能表上的 [顯示資料來源]。

  2. 在 [資料來源] 視窗中,選取 [加入新資料來源],以啟動 [資料來源組態精靈]。

  3. 請選取 [選擇資料來源類型] 頁面上的 [資料庫],再按 [下一步]。

  4. 在 [選擇資料連接] 頁面上,執行下列其中一項動作:

    • 如果下拉式清單中有提供 Northwind 範例資料庫的資料連接,請選取這個資料連接。

      -或-

    • 選取 [新增連接],啟動 [新增/修改連接] 對話方塊。 如需詳細資訊,請參閱新增/修改連接對話方塊 (一般)

  5. 如果資料庫需要密碼,請選取選項來加入敏感性資料,然後按一下 [下一步]。

  6. 按一下 [將連接字串儲存到應用程式組態檔] 頁面上的 [下一步]。

  7. 在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。

  8. 選取 Region 資料表,再按一下 [完成]。

    [NorthwindDataSet] 會加入專案中,而且 Region 資料表會出現在 [資料來源] 視窗中。

將控制項加入至表單以便顯示資料

從 [資料來源] 視窗將項目拖曳至表單上,即可建立資料繫結控制項。

若要在 Windows Form 上建立資料繫結控制項

若要加入將會呼叫個別 TableAdapter DbDirect 方法的按鈕

  1. 從 [工具箱] 將三個 Button 控制項拖曳至 [Form1] ([RegionDataGridView] 底下)。

  2. 在每個按鈕上設定下列 [Name] 和 [Text] 屬性。

    名稱

    文字

    InsertButton

    Insert

    UpdateButton

    更新

    DeleteButton

    Delete

若要加入可將新資料錄插入資料庫中的程式碼

  1. 按兩下 [InsertButton] 即可建立 Click 事件的事件處理常式,並在 [程式碼編輯器] 中開啟表單。

  2. 用下列程式碼取代 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);
    }
    

若要加入可更新資料庫中資料錄的程式碼

  1. 按兩下 [UpdateButton] 即可建立 Click 事件的事件處理常式,並在 [程式碼編輯器] 中開啟表單。

  2. 用下列程式碼取代 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();
    }
    

若要加入可從資料庫刪除資料錄的程式碼

  1. 按兩下 [DeleteButton] 即可建立 Click 事件的事件處理常式,並在 [程式碼編輯器] 中開啟表單。

  2. 用下列程式碼取代 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:以 TableAdapter 直接存取資料庫

HOW TO:建立 TableAdapter 查詢

HOW TO:從物件中將資料儲存至資料庫

概念

TableAdapter 概觀

將 Windows Form 控制項繫結至 Visual Studio 中的資料

準備您的應用程式以接收資料

將資料擷取至您的應用程式中

將控制項繫結至 Visual Studio 中的資料

在您的應用程式中編輯資料

驗證資料

儲存資料

其他資源

連接至 Visual Studio 中的資料