Como: Excluir registros em um banco de dados

Para excluir registros de um banco de dados, use o método TableAdapter.Update ou o método TableAdapter.Delete.Ou, se seu aplicativo não usar TableAdapters, você pode usar objetos de linha de comando para excluir registros de um banco de dados (por exemplo, ExecuteNonQuery).

Normalmente o método TableAdapter.Update é usado quando o aplicativo usa datasets para armazenar dados, enquanto o método TableAdapter.Delete normalmente é utilizado quando o aplicativo usa objetos para armazenar dados.

Se seu TableAdapter não tem um método Delete, significará o TableAdapter é configurado para usar procedimentos armazenados, ou sua propriedade GenerateDBDirectMethods é definida como false.Try setting the TableAdapter's GenerateDBDirectMethods property to true from within the Dataset Designer and then save the dataset to regenerate the TableAdapter.Se o TableAdapter ainda não tem um método Delete, 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).

Excluir Registros Usando TableAdapters

TableAdapters fornecem maneiras diferentes para excluir registros de um banco dados dependendo dos requisitos do seu aplicativo.

Se o aplicativo usar conjuntos de dados para armazenar dados você pode simplesmente excluir registros de DataTable desejado na caixa DataSet e, em seguida, chamamos o método TableAdapter.Update.O método TableAdapter.Update leva quaisquer alterações na tabela de dados e envia as alterações para o banco de dados (incluindo registros inseridos, atualizados e excluídos).

Para excluir registros de um banco de dados usando o método TableAdapter.Update

  • Excluir registros de DataTable desejado excluindo objetos DataRow da tabela.Para obter mais informações, consulte Como: Excluir linhas em uma DataTable. Após as linhas são excluídas de DataTable, chame o método TableAdapter.Update.Você pode controlar a quantidade de dados para atualizar passando um inteiro DataSet, um DataTable, uma matriz de DataRow s ou um único DataRow.O código a seguir mostra como excluir um registro de um DataTable e, em seguida, chamamos o método TableAdapter.Update para comunicar-se a alteração e excluir a linha do banco de dados.(Este exemplo usa a tabela Region do banco de dados Northwind.)

    ' Locate the row to delete.
    Dim oldRegionRow As NorthwindDataSet.RegionRow
    oldRegionRow = NorthwindDataSet._Region.FindByRegionID(5)
    
    ' Delete the row from the dataset
    oldRegionRow.Delete()
    
    ' Delete the row from the database
    Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
    
    // Locate the row to delete.
    NorthwindDataSet.RegionRow oldRegionRow;
    oldRegionRow = northwindDataSet.Region.FindByRegionID(5);
    
    // Delete the row from the dataset
    oldRegionRow.Delete();
    
    // Delete the row from the database
    this.regionTableAdapter.Update(this.northwindDataSet.Region);
    

Se seu aplicativo usa objetos para armazenar os dados em seu aplicativo, você pode utilizar métodos DBDirect do TableAdapter para excluir dados diretamente do banco de dados.Chame o método Delete que remove registros do banco de dados com base nos valores de parâmetro passados.

Para excluir registros de um banco de dados usando o método TableAdapter.Delete

  • Chame o método Delete do TableAdapter, passando os valores para cada coluna como parâmetros do método Delete.(Este exemplo usa a tabela Region do banco de dados Northwind.)

    Observação:

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

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

Excluir Registros Usando Objetos de Comando

O exemplo a seguir exclui registros diretamente de um banco de dados usando objetos de comando.For more information on using command objects to execute commands and stored procedures, see Buscando dados em seu aplicativo.

Para excluir registros de um banco de dados usando objetos de comando

  • Create a new command object, set its Connection, CommandType, and CommandText properties.(Este exemplo usa a tabela Region do banco de dados Northwind.)

    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 = "DELETE Region WHERE RegionID = 5 AND RegionDescription = 'NorthWestern'"
    cmd.Connection = sqlConnection1
    
    sqlConnection1.Open()
    cmd.ExecuteNonQuery()
    sqlConnection1.Close()
    
    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 = "DELETE Region WHERE RegionID = 5 AND RegionDescription = 'NorthWestern'";
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    cmd.ExecuteNonQuery();
    sqlConnection1.Close();
    

Segurança

Você deve ter acesso ao banco de dados ao qual você está tentando se conectar, bem como permissão para excluir registros da tabela desejada.

Consulte também

Tarefas

Como: Inserir novos registros em um banco de dados

Como: Atualizar registros em um banco de dados

Como: Salvar dados de um objeto a um banco de dados

Conceitos

Visão geral do TableAdapter

Outros recursos

Guia de Introdução para acesso a dados

Conectando-se a Dados no Visual Studio

Preparando seu aplicativo para receber dados

Buscando dados em seu aplicativo

Exibindo dados em formulários em aplicativos do Windows

Editar dados no seu aplicativo

Validando Dados

Salvando dados