Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para inserir novos registros em um banco de dados com ADO.NET em um projeto do .NET Framework, a abordagem comum é usar métodos TableAdapter . TableAdapters permitem a comunicação entre seu aplicativo e banco de dados. Eles fornecem diferentes maneiras de inserir novos registros em um banco de dados, dependendo dos requisitos do seu aplicativo. Você pode usar o TableAdapter.Update método ou um dos métodos TableAdapter DBDirect (especificamente, o TableAdapter.Insert método).
Este artigo descreve como inserir registros em um banco de dados para um aplicativo criado com ADO.NET e o .NET Framework usando Visual Basic (VB) ou C#. Se a configuração do seu aplicativo usa o Entity Framework 6, consulte Adicionando uma nova entidade ao contexto ou, para o Entity Framework Core, consulte Adicionando dados.
Observação
A DataSet classe e as classes relacionadas são tecnologias herdadas do .NET Framework do início dos anos 2000 que permitem que os aplicativos trabalhem com dados na memória enquanto os aplicativos estão desconectados do banco de dados. As tecnologias são especialmente úteis para aplicativos que permitem aos usuários modificar dados e manter as alterações de volta ao banco de dados. Embora os conjuntos de dados sejam uma tecnologia comprovadamente bem-sucedida, a abordagem recomendada para novos aplicativos .NET é usar o Entity Framework Core. O Entity Framework fornece uma maneira mais natural de trabalhar com dados tabulares como modelos de objeto e tem uma interface de programação mais simples.
Pré-requisitos
Para trabalhar com métodos TableAdapter, você precisa ter uma instância disponível. Para obter mais informações, consulte Criar e configurar TableAdapters em aplicativos .NET Framework.
Segurança do .NET: Você deve ter acesso ao banco de dados ao qual está tentando se conectar e permissão para executar inserções na tabela desejada.
Escolha o método de inserção
Há diferentes abordagens para inserir registros em um banco de dados com base no cenário do aplicativo. A tabela a seguir resume as opções:
| Cenário | Abordagem | Observações |
|---|---|---|
| O aplicativo usa conjuntos de dados para armazenar dados | Use o método TableAdapter.Update para enviar todas as alterações para o banco de dados | As alterações incluem atualizações, inserções e exclusões. |
| O aplicativo usa objetos para armazenar dados | Use o método TableAdapter.Insert para inserir novos registros no banco de dados | Essa abordagem permite que você tenha um controle mais fino sobre a criação de novos registros. |
App utiliza TableAdapters, Insert método não disponível |
Defina a propriedade TableAdapter GenerateDBDirectMethods como true de dentro do Dataset Designer e salve o conjunto de dados para gerar novamente o TableAdapter |
Se o seu TableAdapter não tiver um Insert método, o TableAdapter está configurado para usar procedimentos armazenados ou a GenerateDBDirectMethods propriedade está definida como false. Se o Insert método permanecer indisponível depois de regenerar o TableAdapter, a tabela provavelmente não fornece informações de esquema suficientes para distinguir entre linhas individuais (por exemplo, pode não haver nenhuma chave primária definida na tabela). |
| O aplicativo não usa TableAdapters | Usar objetos de comando para inserir novos registros no banco de dados | Exemplo: SqlCommand |
Inserir novos registros usando TableAdapters
Se seu aplicativo usa conjuntos de dados para armazenar dados, você pode adicionar novos registros ao desejado DataTable no conjunto de dados e, em seguida, chamar o TableAdapter.Update método. O TableAdapter.Update método envia quaisquer alterações no DataTable para o banco de dados, incluindo registros modificados e excluídos.
Inserir novos registros com o método TableAdapter.Update
O procedimento a seguir demonstra como inserir novos registros em um banco de dados usando o TableAdapter.Update método:
Adicione novos registos ao DataTable desejado criando um novo DataRow e adicionando-o à coleção Rows.
Depois de adicionar as novas linhas ao DataTable, chame o
TableAdapter.Updatemétodo. Você pode controlar a quantidade de dados a serem atualizados passando um dos seguintes valores de parâmetro:O código a seguir mostra como adicionar um novo registro a um DataTable e, em seguida, chamar o
TableAdapter.Updatemétodo para salvar a nova linha no banco de dados. Este exemplo usa aRegiontabela no banco de dados Northwind.// 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);
Inserir novos registros com o método TableAdapter.Insert
Se seu aplicativo usa objetos para armazenar dados, 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. Quando você chama o método, um novo registro é inserido no banco de dados com os valores de parâmetro passados.
- Chame o método do
InsertTableAdapter e passe os valores para cada coluna como parâmetros.
O procedimento a seguir demonstra como usar o TableAdapter.Insert método para inserir linhas. Este exemplo insere dados na Region tabela no banco de dados Northwind.
Observação
Se você não tiver uma instância disponível, instancie o TableAdapter que deseja usar.
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter =
new NorthwindDataSetTableAdapters.RegionTableAdapter();
regionTableAdapter.Insert(5, "NorthWestern");
Inserir novos registros com objetos de comando
Você pode inserir novos registros diretamente em um banco de dados usando objetos de comando.
- Crie um novo objeto de comando e defina suas
Connectionpropriedades ,CommandTypeeCommandText.
O procedimento a seguir demonstra como inserir registros em um banco de dados usando o objeto command. Este exemplo insere dados na Region tabela no banco de dados Northwind.
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();