Compartilhar via


Como inserir novos registros em um banco de dados

 

Publicado: abril de 2016

Para inserir novos registros em um banco de dados, você pode usar o TableAdapter.Update método ou um dos métodos DBDirect do TableAdapter (especificamente o TableAdapter.Insert método). Para obter mais informações, consulte Visão geral de TableAdapter.

Se seu aplicativo não usar TableAdapters, você pode usar objetos command para interagir e inserir novos registros no banco de dados (por exemplo, SqlCommand).

Use o TableAdapter.Update método quando seu aplicativo usa conjuntos de dados para armazenar dados. O Update método envia todas as alterações (atualizações, inserções e exclusões) para o banco de dados.

Use o TableAdapter.Insert método quando seu aplicativo usa objetos para armazenar dados, ou quando quiser um controle mais preciso sobre a criação de novos registros no banco de dados.

Se seu TableAdapter não tem um Insert método, significa que ou o TableAdapter está configurado para usar procedimentos armazenados ou seus GenerateDBDirectMethods está definida como false. Tente definir o TableAdapter GenerateDBDirectMethods propriedade true de dentro de Dataset Designer e, em seguida, salve o dataset para regenerar o TableAdapter. Se o TableAdapter ainda não tem um Insert método, então a tabela provavelmente não fornece informações de esquema suficientes para distinguir entre linhas individuais (por exemplo, nenhuma chave primária é definida na tabela).

Inserir novos registros usando TableAdapters

TableAdapters fornecem maneiras diferentes para inserir novos registros em um banco de dados, dependendo dos requisitos do seu aplicativo.

Se seu aplicativo usa conjuntos de dados para armazenar dados, você pode simplesmente adicionar novos registros para o estado desejado DataTable no conjunto de dados e, em seguida, chame o TableAdapter.Update método. O TableAdapter.Update método obtém as alterações na DataTable e envia essas alterações ao banco de dados (incluindo registros excluídos e modificados).

Para inserir novos registros em um banco de dados usando o método TableAdapter.

  1. Adicionar novos registros para o estado desejado DataTable Criando um novo DataRow e adicioná-lo para o Rows coleção. Para obter mais informações, consulte Como adicionar linhas a um DataTable.

  2. Após as novas linhas serem adicionadas à DataTable, chamar o TableAdapter.Update método. Você pode controlar a quantidade de dados para atualizar passando um inteiro DataSet, um DataTable, uma matriz de DataRows ou um único DataRow.

    O código a seguir mostra como adicionar um novo registro para um DataTable e, em seguida, chamar o TableAdapter.Update método para salvar a nova linha no banco de dados. (Este exemplo usa o banco de dados Northwind Region tabela.)

                // 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)
    

Se seu aplicativo usa objetos para armazenar os dados em seu aplicativo, você pode usar o TableAdapter.Insert método para criar novas linhas diretamente no banco de dados. O Insert método aceita os valores individuais para cada coluna como parâmetros. Chamar o método insere um novo registro no banco de dados com os valores de parâmetro passados.

O procedimento a seguir usa o banco de dados Northwind Region tabela como um exemplo.

Para inserir novos registros em um banco de dados usando o método TableAdapter.

  • Chamar o TableAdapter Insert método, passando os valores para cada coluna como parâmetros.

    Observação

    Se você não tiver uma instância disponível, crie uma instância do TableAdapter que você deseja usar.

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

Inserir novos registros usando objetos de comando

O exemplo a seguir insere novos registros diretamente em um banco de dados usando objetos de comando. Para obter mais informações sobre como usar objetos de comando para executar comandos e procedimentos armazenados, consulte Buscando dados no aplicativo.

O procedimento a seguir usa o banco de dados Northwind Region tabela como um exemplo.

Para inserir novos registros em um banco de dados usando objetos de comando

  • Criar um novo objeto de comando, defina sua Connection, CommandType, e CommandText Propriedades.

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

Segurança do .NET Framework

Você deve ter acesso ao banco de dados que você está tentando se conectar, bem como permissão para executar inserções na tabela desejada.

Consulte também

Salvar dados no banco de dados