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 artigo:
- 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, 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 está 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[/cor1][/b]
Somente neste artigo eu vou usar a versão em Português, para apresentar 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.
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.
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:
- SQL Server Compact 3.5 é baseado em arquivo, o que significa que o seqüência de caracteres de conexão é um caminho de arquivo para o arquivo de banco de dados (.sdf).
- SQL Server Compact 3.5 não é executado como um serviço. Essa é uma das principais diferenças entre usar SQL Server Compact 3.5 e SQL Server ou SQL Server Express Edition.
- SQL Server Compact 3.5 (como SQL Server 2005 Mobile Edition) suporta várias conexões até o limite de 256 conexões.Também há suporte para abrir conexões em processos diferentes.
- A versão atual do SQL Server Compact 3.5 oferece suporte a arquivos de banco de dados de até 4 GB.
- SQL Server Compact 3.5 é um banco de dados com base em arquivo que consiste de DLLs que com tamanho de aproximadamente 1,4 MB.
A lista a seguir fornece algumas situações em que você talvez queira usar SQL Server Compact 3.5 em seus aplicativos:
- Para aplicativos destinados a computadores desktop e dispositivos móveis
- Para aplicativos que irão ser usados em cenários ocasionalmente conectados.
- Quando você precisa de um banco de dados que é livre para redistribuir.
- Quando requisitos de tamanho e memória do aplicativo devem ser compactos.
- Quando você deseja que o código de acesso a dados seja executado em um processo.
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 à 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 em 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 (Details), 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!