Esse artigo faz parte da revista WebMobile edição 2. Clique aqui para ler todos os artigos desta edição

wm2_capa.gif

Clique aqui para ler este artigo em PDFimagem_pdf.jpg. Neste tutorial mostrarei como acessar dados através de um Pocket PC, abordando o uso do banco de dados diretamente no Pocket.

Cenário

O cenário de um ambiente conectado é muito importante para definir o escopo de uma aplicação móvel. O acesso à rede, dados, tipos de usuários, velocidade, tipos de conexões etc. são peças fundamentais aqui. As vantagens e desvantagens dependem da arquitetura da solução. Veja alguns pontos a serem considerados em uma arquitetura móvel:

·         O banco de dados deverá estar sempre atualizado no Pocket? Se o usuário precisar ter todas as informações atualizadas em tempo real, por exemplo, a quantidade de estoque ou o preço de um produto, então, no momento adequado é preciso solicitar ao servidor da empresa o devido dado. Para isso, é preciso que haja um meio de comunicação via http, seja Wi-Fi ou cabo. Não importa o meio, de qualquer forma a sua aplicação instalada no Pocket terá que requisitar o dado no banco de dados da empresa naquele instante. Por outro lado, se não houver necessidade da informação atualizada, é indicado armazenar os dados no Pocket PC através de arquivos XML ou SQL Server CE, permitindo que a aplicação trabalhe off-line. Assim, em determinado momento, o usuário deverá sincronizar as alterações com o servidor, através de Replication ou Synchronization;

·         Existe um meio de comunicação? Esse fator é primordial para que a aplicação funcione. Se você precisar atualizar os dados imediatamente e não houver um meio de comunicação (leia-se rede), então, ficará na mão literalmente. Portanto, antes de montar a aplicação, certifique-se em qual ambiente a aplicação irá rodar. Saiba que as redes sem fio (Wi-Fi – Wireless Fidelity) estão crescendo muito em todo o mundo a um custo muito baixo. Isso significa dizer que teremos em breve acesso à rede a qualquer hora e lugar, permitindo construir aplicações constantemente conectadas. Outra alternativa é usar o telefone celular (qualquer um) como modem, provendo sinal de acesso, seja através de cabo celular/pocket ou via Bluetooth. Outra solução seria o uso de um PhoneEdition, que é um dispositivo com funcionalidades do Pocket PC e celular ao mesmo tempo. Cabe ressaltar que as redes Wi-Fi estão associadas a um Access Point (AP), que emite um sinal com distância de até 150 metros, dependendo do fabricante. Veja no link www.microsoft.com/brasil/msdn/tecnologias/movel/mobilidade_wifi.aspx mais informações sobre Wi-Fi. O mais esperado neste ano de 2005 é que as redes Wi-Max cheguem ao mercado em breve, pois acredite, o sinal chegará a uma distância de 75 km;

·         Recursos de hardware: um aspecto a ser analisado é o custo dos equipamentos e recursos de cada dispositivo. A cada dia os dispositivos têm novos acessórios, seja cartão de memória, Wi-Fi, Bluetooth, leitor ótico, comunicação com impressoras, enfim, isso implica diretamente no investimento da empresa;

·         Acesso a Web Services: se a aplicação precisar consumir Web Services, sempre deverá estar conectada à rede. Existem situações em que isso se torna imprescindível, pois certos dados só podem ser acessados através de Web Services. Por exemplo, checar o crédito de uma empresa/consumidor no Serasa, consultar dados externos à empresa, montar um fluxo de informações com diversas empresas para integrar soluções, enfim, tem que ter acesso à rede;

·         Outro aspecto a ser considerado em relação ao acesso à rede da empresa é que através do Pocket PC você pode acessar o banco de dados SQL Server diretamente no servidor. No final do tutorial, existem mais comentários a respeito disso.

 

Faremos a partir de agora uma aplicação que criará e manipulará um banco de dados no Pocket.

Na parte I deste tutorial (edição 1 da Web Mobile) foi criada uma solução chamada tutorialPocket e é exatamente essa que usaremos neste projeto, portanto, abra-a.

Formulário

Adicione um novo formulário (Add|Add Windows Form) chamado BancoDados (Figura 1).

 

image001.png

Figura 1. Criando um novo formulário Windows Form

 

Selecione o menu View|Toolbox para exibir a caixa de ferramentas (ou pressione Ctrl + Alt + X). Como esse formulário conterá diversos controles, a melhor forma de organizá-los é através de um TabControl. Portanto, arraste esse controle para o formulário e redimensione sua altura. Pressione F4 para exibir a janela de propriedades e em TabPages (Collection) clique no botão construtor [...].

Será exibida uma janela para que você adicione as TabPages. Nela inclua três Pages: Banco, Incluir e Excluir (Figura 2). Digite cada texto na propriedade Text e para adicionar um novo item, clique no botão Add.

 

image003.png

Figura 2. Adicionando Pages no TabControl

 

Na tabPage Banco, inclua os controles com as respectivas propriedades, conforme Tabela 1 e Figura 3.

 

1 Button

Name: btnBanco

Text: Cria banco dados/tabela

1 Button

Name: btnPreenche

Text: Preenche tabela

1 Listbox

Name: lstDados

Tabela 1. Componentes do formulário BancoDados

 

image005.png

Figura 3. Formulário para criação do banco de dados no Pocket

Banco de dados

Como criaremos um banco de dados no Pocket, o namespace responsável é o System.Data.SqlServerCE, ou seja, é preciso referenciar essa biblioteca. O SQL Server CE é um banco de dados similar ao SQL Server, resguardadas as devidas limitações de um dispositivo móvel. Por exemplo, não existem Stored Procedure e Triggers, mas em compensação temos sintaxes T-SQL que você já conhece (select, insert, delete e update), chaves primárias, consultas, agregação (sum, count, max, avg e min), além da DLL ser de apenas 2 MB.

Acesse o menu Project|Add Reference e inclua as referências no projeto conforme mostrado na Figura 4.

image007.png

Figura 4. Adicionando uma referência

 

O System.Data.SqlServerCE contém os métodos necessários para criar o banco de dados e a tabela. O System.Data.Common é fundamental para usar um DataAdapter, que utilizaremos para exibir os dados no ListBox.

Dê um duplo clique no botão btnBanco e digite o código da Listagem 1 para criar o banco de dados e a tabela. Como usaremos o SQL Server CE, é preciso referenciar o respectivo namespace na lista de using no início do projeto. Inclua também System.IO, pois manipularemos um arquivo no Pocket PC.

 

Listagem 1. Código para criação do banco de dados e tabela.

using System.Data.SqlServerCe;

using System.IO;

 

private string conexao = @"Data Source=\My Documents\webmobile.sdf";

 

private void btnBanco_Click(object sender, System.EventArgs e)

{

            try

            {

                        //verifica se o arquivo existe

...

Quer ler esse conteúdo completo? Tenha acesso completo