Share via


在 .NET Framework 應用程式中使用 TableAdapter 直接存取資料庫

注意

資料集和相關類別是 2000 年代初的舊版 .NET Framework 技術,可讓應用程式在應用程式與資料庫中斷連線時使用記憶體中的資料。 它們特別適用於可讓使用者修改資料並將變更保存回資料庫的應用程式。 雖然已證明資料集是非常成功的技術,但建議新的 .NET 應用程式使用 Entity Framework Core。 Entity Framework 提供更自然的方式,將表格式資料作為物件模型使用,而且具有更簡單的程式設計介面。

除了 InsertCommandUpdateCommandDeleteCommand 之外,TableAdapters 也會使用可直接對資料庫執行的方法來建立。 您可以呼叫這些方法 (TableAdapter.InsertTableAdapter.UpdateTableAdapter.Delete) 以直接在資料庫中運算資料。

如果您不想建立這些直接方法,請在 [屬性] 視窗中,將 TableAdapter 的 GenerateDbDirectMethods 屬性設定為 [false]。 如果除了 TableAdapter 的主查詢之外還會在 TableAdapter 中新增任何查詢,則它們是不產生這些 DbDirect 方法的獨立查詢。

將命令直接傳送至資料庫

呼叫 TableAdapter DbDirect 方法,以執行您嘗試完成的工作。

在資料庫中直接插入新的記錄

  • 呼叫 TableAdapter 的 Insert 方法,以參數的形式傳入每個資料行的值。 下列流程使用 Northwind 資料庫中的 Region 資料表作為範例。

    注意

    如果您沒有可用的執行個體,請具現化您想要使用的 TableAdapter。

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

在資料庫中直接更新記錄

  • 呼叫 TableAdapter 的 Update 方法,以參數的形式傳入每個資料行的新和原始值。

    注意

    如果您沒有可用的執行個體,請具現化您想要使用的 TableAdapter。

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Update(1, "East", 1, "Eastern");
    

直接從資料庫刪除記錄

  • 呼叫 TableAdapter 的 Delete 方法,以 Delete 方法的參數形式傳入每個資料行的值。 下列流程使用 Northwind 資料庫中的 Region 資料表作為範例。

    注意

    如果您沒有可用的執行個體,請具現化您想要使用的 TableAdapter。

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");