VB.NET - Usando SQL Server Compact 3.5


Se você baixou a versão do Visual Studio 2008 trial ou do Visual Basic 2008 Express edition ao trabalhar com o acesso a banco de dados vai notar uma novidade muito interessante: O VB 2008 já vem com o Microsoft SQL Server Compact 3.5 integrado. Vamos conferir !

São necessários os seguintes aplicativos para execução deste tutorial:

Microsoft Windows XP Professional
Visual Basic 2008 Express Edition

Abra o Visual Basic 2008 Express Edition e crie um novo projeto do tipo Windows Application chamado acessoSQLServerCE.

Abra o DataBase Explorer e clique com o botão direito do mouse sobre uma área vazia da janela e selecione a opção Adicionar Conexão (note que as mensagens estão em português !!!)

Nota: Percebeu que o meu Visual Basic 2008 Express esta em Português ??? (Veja as opções do menu) Se você deseja portar a sua versão para o Português baixe o pacote de tradução para o Visual Basic no link : http://msdn.microsoft.com/pt-br/express/default.aspx

Somente neste artigo eu vou usar a versão em Português apenas para mostrar o pacote já traduzido.

A janela Adicionar Conexão será aberta e ao clicar no botão Change será exibida a janela Change Data Source nela você pode ver que agora temos uma nova opção para Data Source: o Microsoft SQL Server Compact 3.5 e o seu respectivo Data Provider.

Fig 1.0  

Após selecionar o Microsoft SQL Server Compact 3.5 e clicar no botão OK a janela Adicionar Conexão é alterada conforme a figura 2.0.

Perceba que temos dois botões : Create , para criar uma nova base de dados e Browse para usar uma base de dados do SQL Server Compact 3.5.

Clicando no botão Browse será aberta a janela com o banco de dados de exemplo Northwind perceba que a extensão do arquivo é .sdf conhecidos como banco de dados SDF.

Fig 2.0

O Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) permite que você crie bancos de dados compactos que podem ser implantados em computadores de mesa, dispositivos inteligentes e Tablet PCs. Microsoft SQL Server Compact 3.5 é o banco de dados local preferido para aplicativos do cliente.

SQL Server Compact 3.5 fornece os seguintes recursos a serem considerados quando você o estiver usando como o armazenamento de dados locais para seus aplicativos.

A lista a seguir fornece algumas situações em que você talvez queira usar SQL Server Compact 3.5 em seus aplicativos:

Continuando nosso exemplo podemos clicar no botão - Test Connection - para verificar a conexão;

Clicando no botão OK iremos verificar que a Janela Database Explorer já exibe o banco de dados Northwind.sdf e suas tabelas;

Agora vamos incluir um novo Data Source a nossa aplicação , para isso no menu Dados selecione a opção Adicionar Nova Fonte de dados;

Na janela do assistente selecione o item Banco de dados e clique em Avançar>;

Selecione então o banco de dados Northwind.sdf e verifique string de conexão clicando a seguir em Avançar>;

Altere o nome da string de conexão para NorthwindCEConnectionString e clique me Avançar>;

Agora selecione as tabelas Customers , Employees e Orders conforme a figura abaixo e clique em Concluir;

Agora vamos preparar a tabela Order para ser exibida no formulário:

Na janela Fontes de dados  expanda o NorthwindCEDataSet para exibir todas as tabelas contidas no conjunto de dados.

Expanda a tabela Orders para exibir uma lista de colunas da tabela.

Selecione a caixa suspensa em Orders e escolha Detalhes (Detais), como mostra ao lado. A escolha de Detalhes irá gerar controles individuais para cada coluna na tabela, quando a tabela for colocada em um formulário form1.vb

Ainda na janela Fonte de Dados altere o controle padrão da coluna Order ID (ID da ordem) para um Label (Rótulo) , clicando na caixa suspensa Order ID e selecionando Label (Rótulo). Da mesma forma altere os controles padrão das colunas Customer ID (ID do cliente), Employee ID (ID do funcionário) e Ship Via (Enviar por) para ComboBox (Caixa de combinação) pois vamos exibir a caixa de combinação com os dados de cada tabela correspondente mais adiante.

Finalmente arraste a tabela Orders e solte-a na formulário form1.vb;

O VB 2008 irá criar controles para cada uma das colunas na tabela, um controle de navegação de banco de dados e todas as ligações de dados necessárias usadas para vincular esses controles à tabela conforme vemos na figura abaixo;

Agora vamos arrastar a partir da janela Fontes de Dados algumas tabelas no controles combobox do formulário na seguinte ordem:

1- A Tabela Customers (Clientes) para a ComboBox Customer ID no formulário, com isso será criada uma ligação entre a tabela Customers e a combobox e fará com que a combobox seja preenchida com os dados da tabela Customers; sendo que em vez de exibir o código do cliente ela exibirá o nome do cliente. Isso ocorre porque o VB 2008 modifica as ligações de dados, de forma que o valor de exibição é definido na primeira coluna da seqüência na tabela que não faz parte da chave primária. No caso da tabela Customers, a primeira coluna da seqüência que não faz parte da chave primária é a coluna Name.

2- A tabela Employees para a combobox EmployeeID desta forma será exibido na combobox o nome do funcionário ao invés do código;

Agora  a partir da Caixa de Ferramentas na guia Controles Comuns arraste e solte um controle PictureBox no formulário form1 e altere a sua propriedade Size Mode para AutoSize usando a guia Marcas Inteligentes ;

Na janela Fonte de dados expanda a tabela Employees e arraste a coluna Photo para o controle PictureBox do formulário. Com isso estamos vinculado o controle a coluna Photo.

Execute a aplicação pressionando F5 e veremos o formulário principal form1.vb exibir os dados conforme abaixo:

Como você viu o SQL Server Compact 3.5 pode ser usado da mesma forma que o SQL Server 2005 Express para criar aplicações usando os assistentes.  Ele possui algumas limitações como tamanho e também não suporta Stored Procedures, mas pode ser uma oba opção para pequenas aplicações ou em aplicações locais, e é muito parecido com o Access sendo mais próximo do SQL Server que este.

Pegue o projeto completo aqui:   acessoSQLServerCE.zip (Sem a base de dados Northwind.sdf)

Aguarde em breve mais artigos usando o SQL Serve Compact 3.5

Até o próximo artigo...


José Carlos Macoratti