Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 . Os TableAdapters habilitam a comunicação entre o aplicativo e o banco de dados. Eles fornecem diferentes maneiras de inserir novos registros em um banco de dados, dependendo dos requisitos do 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 o Visual Basic (VB) ou C#. Se a configuração do aplicativo usar 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 são desconectados do banco de dados. As tecnologias são especialmente úteis para aplicativos que permitem que os usuários modifiquem dados e persistam as alterações no 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 do .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.
Escolher 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 | Anotações |
|---|---|---|
| O aplicativo usa conjuntos de dados para armazenar dados | Usar o método TableAdapter.Update para enviar todas as alterações ao banco de dados | As alterações incluem atualizações, inserções e exclusões. |
| O aplicativo usa objetos para armazenar dados | Usar 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. |
O aplicativo usa TableAdapters, método Insert não disponível |
Defina a propriedade TableAdapter GenerateDBDirectMethods como true de dentro do Designer de Conjunto de Dados e salve o conjunto de dados para regenerar o TableAdapter |
Se o TableAdapter não tiver um Insert método, o TableAdapter será configurado para usar procedimentos armazenados ou a GenerateDBDirectMethods propriedade será definida como false. Se o Insert método permanecer indisponível depois de regenerar o TableAdapter, a tabela provavelmente não fornecerá 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 o aplicativo usar conjuntos de dados para armazenar dados, você poderá adicionar novos registros ao conjunto de dados desejado DataTable e, em seguida, chamar o TableAdapter.Update método. O TableAdapter.Update método envia alterações no DataTable 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 registros ao desejado DataTable criando um novo DataRow e adicionando-o à Rows coleção.
Depois de adicionar as novas linhas ao DataTablemétodo, 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 o aplicativo usar objetos para armazenar dados, você poderá usar o TableAdapter.Insert método para criar novas linhas diretamente no banco de dados. O Insert método aceita os valores individuais de 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 tableAdapter
Inserte 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, em seguida, defina seu
Connection,CommandTypeeCommandTextpropriedades.
O procedimento a seguir demonstra como inserir registros em um banco de dados usando o objeto de comando. 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();