NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosASP.NET › Capítulo 12 : 04
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
ASP.NET - CURSO COMPLETO
Autor: Júlio Battisti

Lição 102 - Capítulo 12 - Excluindo registros - a propriedade DeleteCommand

Para enviar as exclusões feitas em um objeto DataTable, para o banco de dados, utilizamos os seguintes passos:

1.         Definimos uma chave primária para o objeto DataTable. Considere o exemplo:

Clientes.PrimaryKey  = new DataColumn[] {Clientes.Columns["CódigoDoCliente"]};

2.         Localizo a linha a ser excluída. Para localizar a linha posso utilizar o método Find, da coleção Rows, descrito e exemplificado anteriormente. Também posso utilizar, caso eu conheça, o índice da linha a ser excluído. Vejamos alguns exemplos:

// Excluo a primeira linha do DataTable Clientes,
// utilizando o índice da linha.
Clientes.Rows[0].Delete();
//  Outra alternativa é localizar a linha a ser excluída
// e depois chamar o método Delete da linha.
DataRow Linha =  Clientes.Rows.Find(MinhaLista.SelectedItem.Value);
Linha.Delete();

3.         Agora precisamos enviar as exclusões para o banco de dados. Em primeiro lugar criamos um objeto do tipo OleDbCommandBuilder, associado ao objeto DataAdapter que estamos utilizando:

OleDbCommandBuilder CriaComando = new  OleDbCommandBuilder(MeuDataAdapter);

Defino a propriedade DeleteCommand, do objeto DataAdapter. Posso definir esta propriedade manualmente ou utilizando o método GetDeleteCommand do objeto OleDbCommandBuilder. No exemplo a seguir, utilizamos o método GetDeleteCommand:

MeuDataAdapter.DeleteCommand=  CriaComando.GetDeleteCommand();

Definidos os comandos necessários é hora de fazer com que os comandos sejam efetivamente executados no banco de dados. Para tal chamamos o método Update do objeto DataAdapter:

MeuDataAdapter.Update(ds,”Clientes”);

Como parâmetros para este método, passamos o nome do DataSet e o nome da tabela a ser atualizada. O método Update irá executar, no banco de dados, os comandos definidos na propriedade DeleteCommand. O resultado prático desta operação é que, todos os registros que foram excluídos do objeto DataTable, serão excluídos da tabela no banco de dados, ou seja, estamos sincronizando as alterações feitas na cópia “desconectada” dos dados, com a cópia original dos dados. Após a execução do método Update, os dois conjuntos de dados – desconectados e originais, são cópias idênticas.

Para que possamos gerar os comandos automaticamente, utilizando um objeto do tipo CommandBuilder, algumas condições devem ser observadas:

  • Os dados que formam uma tabela no objeto DataSet devem ter sido obtidos a partir de uma única tabela no banco de dados. Por exemplo, se utilizamos as tabelas Pedidos e Detalhes do pedido, para obter uma listagem com o total por Pedido, precisaremos construir manualmente os comandos de atualização, edição e exclusão. Construir manualmente significa criar uma string com o comando SQL e atribuir esta String a propriedade respectiva.
  • A tabela deve ter uma Chave Primária. Pode ser uma Chave Primária simples (formada por uma coluna) ou uma Chave Primária composta por duas ou mais colunas.
  • Os nomes de tabelas não podem conter caracteres especiais como espaços, pontos, aspas e outros caracteres que não sejam números e letras.

« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2024 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI