Desenvolvimento - Mobile

Conectando o Pocket PC com o BD SQL CE

O SQL Server 2000 Windows CE Edition 2.0 (SQLCE) é um subset do SQL Server 2000 criado exclusivamente para atuar em dispositivos móveis (como Pockets e SmartPhones - disponível na versão 2.0 da Compact Framework)...

por Max Mosimann Netto



Diariamente recebo muitos e-mails com pedidos de ajudas dos mais variados assuntos, mas um em comum me chama a atenção: Conexão com BD SQLCE!

O SQL Server 2000 Windows CE Edition 2.0 (SQLCE) é um subset do SQL Server 2000 criado exclusivamente para atuar em dispositivos móveis (como Pockets e SmartPhones - disponível na versão 2.0 da Compact Framework). Por se tratar de um subset, algumas caracteristicas disponíveis no SQL Server 2000 não estão presentesna versãoCE. Uma das que chamam atenção, éimpossibilidade de criação de Stored Procedures, Views e Functions. Em contrapartida, o core do sistema foi totalmente reescrito para aproveitar com a maior performance possível os recursos limitados que os processadores dos disposivos móveispossuem.
Podemos assim, ter umBanco de Dados relacional, otimizado para cada processador, com ótimo controle de uso de memória em um arquivo relativamente pequeno e rápido.

Para os desenvolvedores que já estão familiarizados com a metodologia de desenvolvimento com SQL Server 2000, o impácto será irrelevante. O SQLCE oferece uma sintaxe de comandos idênticos ao SQL Server. Baseado na DDL (Data Definition Language) provê a mesma gramática usada no SQL Server 2000 para a criação de tabelas. Com suporte a DML (Data Manipulation Language) provê a mesma gramática para a execução de comandos SELECT, DELETE e UPDATE, bem como o uso de UNION para a mesclagem de várias querys e execução de querys parametrizadas.

O SQLCE oferece ainda métodos de conexão com servidores SQL Server 2000 para a migração de dados de duas maneiras: RDA (Remote Data Access) e Merge Replication.

Neste artigo, procurarei esclarecer essas dúvidas tão comuns entre os iniciantes na programação para dispositivos móveis, com a utilização de um exemplo prático: Um sistema pra Pocket que seja capaz de criar um Banco de Dados se ele não exisitr, criar uma conexão com o referido banco de dados, criar e popular sua tabela e executar comandos para retornar os dados armazenados no BD.

O sistema apresentado, será semelhante ao mostrado na Figura 1:


Os primeiros passos para a construção de nosso sistema, é a correta referência aos Names Spaces necessários para a conexão com o SQLCE. Para isso, clique com o botão da direita do mouse sobre o nome do projeto na janela Solution Explorer, e clique em Add references...
A Figura 2 mostra como será a tela exibida:


Após feita a referência, um name space deverá ser mostrado na sua Solutions Explorer como visto na Figura 3:


Agora que a referência esta feita, podemos partir para a codificação da aplicação.
O primeiro passo para a codificação é importar duas classes: System.Data.SQLServerCE e System.IO. O import serve para que não seja necessário informar o caminho completo do name space a cada uso de um metodo de uma classe. Abaixo, segue o código utilizado na aplicação, e sua devida explicação:


Espero que com esse artigo, muitas das dúvidas com relação a conexão com Banco de Dados SQLCE sejam esclarecidas!

O código para a aplicação demonstrada acima pode ser obtido clicando aqui!

Um abraço, e até a próxima !
Max Mosimann Netto

Max Mosimann Netto - Fundador e coordenador do grupo Codificando.net (http://www.codificando.net). Atualmente presta consultoria na área de mobile business, desenvolvendo aplicações para web, pocket, celular e smartphone.
TheSpoke: http://br.thespoke.net/MyBlog/max/MyBlog.aspx