Desenvolvendo aplicações utilizando XML

XML vem de eXtensible Markup Language ou Linguagem padronizada de marcação capaz de descrever diversos tipos de dados...

Desenvolvendo aplicações utilizando XML

 

Bom pessoal, hoje em dia é comum em ouvir falar de arquivos XML, mas o que são estes arquivos.

 

XML vem de eXtensible Markup Language ou Linguagem padronizada de marcação capaz de descrever diversos tipos de dados, bastante utilizado na Internet para transferência de informações e entre outras funcionalidades.

 

Bom, neste artigo irei demonstrar que os arquivos XML podem ser utilizados como um Banco de Dados, armazenando os dados inseridos em uma aplicação e permitindo realizar pesquisas, alteração e exclusão destes dados.

 

Para isto iremos criar um projeto do tipo Windows Application, conforme imagem da Figura 1.

 

 

Figura 1 – Criando um novo projeto do tipo Windows Application.

 

Após ter criado o projeto, iremos preparar nossa Base de Dados, iremos inserir um DataSet.xsd, em Adicionar Novo item -> DataSet, como pode ser visualizado na Figura 2.

 

Este DataSet utilizaremos para criarmos todas as tabelas que nossa aplicação utilizará, podendo criar relações, chaves primárias e outras funcionalidades que possui em um Banco de Dados.

 

 

Figura 2 – Adicionando um DataSet.xsd.

 

Ao adicionar o DataSet, aparecerá uma região onde poderemos iniciar a criação das tabelas, sendo que no Toolbox já aparecerá todos os itens que poderão ser adicionados naquela região, conforme pode ser visto na Figura 3.

 

 

Figura 3 – Criando as tabelas no DataSet.

 

Chamamos este DataSet de DataSet Tipado, devido o mesmo já possuir o Schema referente à estrutura das tabelas. Sendo assim criaremos todos os objetos para nossa aplicação neste DataSet.

 

Sempre que precisar alterar uma propriedade de coluna recém criada, como por exemplo alterar o tipo da mesma, isso você conseguirá indo na PropertyGrid de propriedades.

 

 

Figura 4 – Estrutura do Banco de Dados.

 

Na Figura 4 podemos verificar como ficou a estrutura do nosso Banco de Dados. Definimos as chaves primárias das tabelas, informamos campos que são Auto Incremento (Codfun, CodCargo, CodCid) e ainda fizemos as relações.

 

Sendo assim, vamos prosseguir o desenvolvimento de nossa aplicação, desenvolvendo os forms para que possamos inserir dados nestas tabelas.

 

No final teremos em nossa aplicação quatro forms, um menu principal e um form para cada tabela que criamos, como pode ser visto nas imagens abaixo.

 

 

Figura 5 – Tela de cadastro de Cidades.

 

 

Figura 6 – Tela de cadastro de Cargos.

 

 

Figura 7 – Tela de cadastro de Funcionários.

 

Depois de desenvolvido os forms, será necessário ligar os campos da tela com os campos criados no DataSet.

 

Para os campos TextBox para setar a propriedade de DataBinding é necessário informarmos qual DataSource e qual campo que este estará ligado, conforme Figura 8.

 

 

Figura 8 – Setando DataBinding para os controles TextBox

 

Assim será gerado automaticamente no form um DataSet e um BindingSource. Será necessário também inserir um BindingNavigator, que será responsável por inserir, excluir e navegar nos dados. Ao inserir o BindingNavigator é necessário informar qual o BindingSource que este utilizará, que por sinal é o que foi criado automaticamente.

 

Para que possamos gravar e recuperar estes dados será necessário criar três eventos. No Load do Form, será carregado os dados do arquivo XML, ao salvar e excluir os dados, o arquivo será reescrito, conforme Listagem 1.

 

private void saveToolStripButton_Click(object sender, EventArgs e)

{

BSCidade.EndEdit();

dataSet11.WriteXml(@"C:\xml.xml");

MessageBox.Show("Dados salvos com sucesso!");

}

 

private void Cidade_Load(object sender, EventArgs e)

{

if (System.IO.File.Exists(@"C:\xml.xml"))

dataSet11.ReadXml(@"C:\xml.xml");

}

 

private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)

{

dataSet11.WriteXml(@"C:\xml.xml");

MessageBox.Show("Dados excluídos com sucesso!");

}

Listagem 1 – Eventos necessários em todos os forms.  

 

Com estes eventos, o form conseguirá recuperar os dados salvos do arquivo, excluir e salvar os dados no arquivo em disco, neste exemplo será salvo em C:\xml.Xml.

 

Como a tabela de Funcionários possui FK com as Tabelas de Cargo e Cidade, precisamos disponibilizar os valores destas tabelas para que o usuário consiga gravar todos os dados do Funcionário.

 

Para isto utilizamos um ComboBox para carregar todos os valores das tabelas Fk´s, mas para isto utilizamos somente configurações, como mostra a Figura 9.

 

 

Figura 9 – Setando propriedades do ComboBox para funcionar como LookUp

 

Como pode ser visto na figura acima, as propriedades marcadas são necessárias para que o ComboBox possa funcionar como LookUp. Segue a explicação de cada uma:

 

DataSource: BindingSource da tabela FK, carregado com todos os campos.

DisplayMember: Campo da tabela Fk que será apresentado no ComboBox.

ValueMember: Valor que será atribuído no registro corrente quando um item do ComboBox for selecionado.

 

SelectedValue: Campo da tabela corrente que receberá o valor do item do ComboBox selecionado.

 

Após terminar estas configurações para as nossas duas tabelas Fk´s, a nossa aplicação estará completa, permitindo salvar, excluir e recuperar os dados, trabalhando tudo com XML.

 

Espero que tenha sido de grande valia este artigo e até o próximo.

Artigos relacionados