Sdílet prostřednictvím


Postupy: Vkládání nových záznamů do databáze

 

Publikováno: duben 2016

Chcete-li vkládání nových záznamů do databáze, můžete použít TableAdapter.Update Metoda nebo jednu z metod TableAdapter DBDirect (konkrétně TableAdapter.Insert Metoda). Další informace naleznete v tématu TableAdapter – přehled.

Pokud vaše aplikace nepoužívá objekty TableAdapter, můžete použít příkaz objekty pracovat a vkládání nových záznamů v databázi (například SqlCommand).

Použití TableAdapter.Update metodu, pokud vaše aplikace používá k uložení dat datové sady.Update Metoda odešle všechny změny (aktualizace, vložení a odstranění) do databáze.

Použití TableAdapter.Insert metodu, pokud vaše aplikace používá objekty k uložení dat, nebo pokud chcete lepší kontrolu nad vytváření nových záznamů v databázi.

Pokud vaše TableAdapter nemá Insert Metoda, znamená to, že buď objektu TableAdapter je nakonfigurován pro použití uložené procedury nebo jeho GenerateDBDirectMethods je vlastnost nastavena na false. Zkuste nastavit TableAdapter GenerateDBDirectMethods vlastnost true v rámci Návrháře Dataset a poté uložte datovou sadu k opětovnému vytvoření objektu TableAdapter. Není-li TableAdapter stále Insert Metoda a potom v tabulce pravděpodobně neposkytuje dostatek informací o schématu rozlišit jednotlivé řádky (například žádný primární klíč je nastavena v tabulce).

Vkládání nových záznamů pomocí TableAdapter

Objekty TableAdapter poskytují různé způsoby vkládání nových záznamů do databáze, v závislosti na požadavcích vaší aplikace.

Pokud vaše aplikace používá k uložení dat datové sady, pak můžete jednoduše přidat nové záznamy na požadovanou DataTable v datové sadě a poté zavolejte TableAdapter.Update Metoda.TableAdapter.Update Metoda přebírá jakékoli změny DataTable a odešle tyto změny do databáze (včetně upravenou a odstraněné záznamy).

Chcete-li vkládání nových záznamů do databáze pomocí TableAdapter.Update – metoda

  1. Přidat nové záznamy požadovanou DataTable vytvořením nového DataRow a jejím přidáním do Rows kolekce. Další informace naleznete v tématu Postupy: Přidávání řádků do DataTable.

  2. Po přidání nových řádků DataTable, volání TableAdapter.Update Metoda. Můžete řídit množství dat k aktualizaci předáním buď v celou DataSet, DataTable, pole DataRows nebo jediný DataRow.

    Následující kód ukazuje, jak přidat nový záznam pro DataTable a poté zavolejte TableAdapter.Update metody uložte nový řádek do databáze. (Tento příklad používá databázi Northwind Region tabulku.)

                // Create a new row.
                NorthwindDataSet.RegionRow newRegionRow;
                newRegionRow = northwindDataSet.Region.NewRegionRow();
                newRegionRow.RegionID = 5;
                newRegionRow.RegionDescription = "NorthWestern";
    
                // Add the row to the Region table
                this.northwindDataSet.Region.Rows.Add(newRegionRow);
    
                // Save the new row to the database
                this.regionTableAdapter.Update(this.northwindDataSet.Region);
    
            ' Create a new row.
            Dim newRegionRow As NorthwindDataSet.RegionRow
            newRegionRow = Me.NorthwindDataSet._Region.NewRegionRow()
            newRegionRow.RegionID = 5
            newRegionRow.RegionDescription = "NorthWestern"
    
            ' Add the row to the Region table
            Me.NorthwindDataSet._Region.Rows.Add(newRegionRow)
    
            ' Save the new row to the database
            Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
    

Pokud vaše aplikace používá objekty k uložení dat v aplikaci, můžete použít TableAdapter.Insert metodu pro vytvoření nových řádků přímo v databázi.Insert Metoda přijímá jednotlivé hodnoty pro každý sloupec jako parametry. Volání metody vloží nový záznam do databáze se předané hodnoty parametrů.

Následující postup používá databázi Northwind Region tabulky jako příklad.

Chcete-li vkládání nových záznamů do databáze pomocí TableAdapter.Insert – metoda

  • Volání objektu TableAdapter Insert metodu předáním hodnoty pro každý sloupec jako parametry.

    Poznámka

    Pokud nemáte k dispozici instance, vytvořit instanci třídy TableAdapter, kterou chcete použít.

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

Vkládání nových záznamů pomocí objekty příkazu

Následující příklad vloží nové záznamy přímo do databáze pomocí příkazu objektů. Další informace o používání objektů příkaz ke spuštění příkazů a uložených procedur v tématu Načítání dat do aplikace.

Následující postup používá databázi Northwind Region tabulky jako příklad.

Chcete-li vkládání nových záznamů do databáze pomocí příkazu objektů

  • Vytvořit nový objekt příkazu, nastavte jeho Connection, CommandType, a CommandText Vlastnosti.

                System.Data.SqlClient.SqlConnection sqlConnection1 = 
                    new System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING");
    
                System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;
                cmd.CommandText = "INSERT Region (RegionID, RegionDescription) VALUES (5, 'NorthWestern')";
                cmd.Connection = sqlConnection1;
    
                sqlConnection1.Open();
                cmd.ExecuteNonQuery();
                sqlConnection1.Close();
    
            Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING")
    
            Dim cmd As New System.Data.SqlClient.SqlCommand
            cmd.CommandType = System.Data.CommandType.Text
            cmd.CommandText = "INSERT Region (RegionID, RegionDescription) VALUES (5, 'NorthWestern')"
            cmd.Connection = sqlConnection1
    
            sqlConnection1.Open()
            cmd.ExecuteNonQuery()
            sqlConnection1.Close()
    

Zabezpečení rozhraní .NET Framework

Musí mít přístup k databázi, kterou se pokoušíte připojit, jakož i oprávnění k provedení vloží do požadované tabulky.

Viz také

Uložit data do databáze