共用方式為


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

 

發行︰ 2016年4月

此逐步解說會提供詳細的指示,說明如何使用 TableAdapter 的 DBDirect 方法,直接對資料庫執行 SQL 陳述式。 TableAdapter 的 DBDirect 方法提供五種控制資料庫更新的層級。 您可以搭配它們,視應用程式的需求呼叫 InsertUpdateDelete 方法,以執行特定 SQL 陳述式及預存程序 (而不是在單一呼叫中執行 UPDATE、INSERT 及 DELETE 陳述式的多載 Update 方法)。

在此逐步解說中,您將了解如何:

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

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

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

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

  • 加入方法,以直接存取資料庫,並直接對資料庫執行插入、更新及刪除。

必要條件

為了完成此逐步解說,您需要:

建立 Windows 應用程式

第一步是建立 Windows 應用程式

建立新的 Windows 專案

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

  2. 將專案命名為 TableAdapterDbDirectMethodsWalkthrough。

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

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

從資料庫建立資料來源

此步驟使用 [資料來源組態精靈],根據 Northwind 範例資料庫中的 Region 資料表,建立資料來源。 您必須具有 Northwind 範例資料庫的存取權,才能建立連接。 需設定 Northwind 範例資料庫的資訊,請參閱 如何:安裝範例資料庫

若要建立資料來源

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

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

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

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

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

      -或-

    • 選取 [新增連接],啟動 [新增/修改連接] 對話方塊。

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

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

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

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

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

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

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

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

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

  1. 工具箱將三個 Button 控制項拖曳至 Form1 (位於 RegionDataGridView 之下)。

  2. 在每個按鈕上設定以下的名稱文字屬性。

    名稱 Text
    InsertButton Insert
    UpdateButton 更新
    DeleteButton 刪除

加入程式碼以將新記錄插入至資料庫

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

  2. 以下列程式碼取代 InsertButton_Click 事件處理常式:

            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);
            }
    
        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
    

加入程式碼以更新資料庫中的記錄

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

  2. 以下列程式碼取代 UpdateButton_Click 事件處理常式:

            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();
            }
    
        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
    

加入程式碼以從資料庫刪除記錄

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

  2. 以下列程式碼取代 DeleteButton_Click 事件處理常式:

            private void DeleteButton_Click(object sender, EventArgs e)
            {
                try
                {
                    regionTableAdapter1.Delete(5, "Updated Region Description");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Delete Failed");
                }
                RefreshDataset();
            }
    
        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
    

執行應用程式

若要執行應用程式

  • 按 F5 執行應用程式。

  • 按一下 [插入] 按鈕,並確認新記錄是否出現在資料格中。

  • 按一下 [更新] 按鈕,並確認資料格中是否有更新記錄。

  • 按一下 [刪除] 按鈕,並確認是否從資料格刪除記錄。

後續步驟

視應用程式的需求而定,在建立資料繫結表單後,您可能會有幾個想要執行的步驟。 一些您可以加強這個逐步解說的部分包括:

請參閱

TableAdapter 概觀
如何:以 TableAdapter 直接存取資料庫
如何:建立 TableAdapter 查詢
如何:從物件中將資料儲存至資料庫
將 Windows Form 控制項繫結至 Visual Studio 中的資料
連接至 Visual Studio 中的資料
準備您的應用程式以接收資料
將資料擷取至您的應用程式中
將控制項繫結至 Visual Studio 中的資料
在您的應用程式中編輯資料
驗證資料
儲存資料