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.
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.
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 NorthwindRegion
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
, eCommandText
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.