Você está na página 1de 23

IFRN

Tecnologia em Anlise e Desenvolvimento de


Sistemas

Banco de Dados no Windows Phone


Prof. Gilbert Azevedo

Referencias Bibliogrficas

MSDN

http://msdn.microsoft.com/enus/library/windowsphone/develop/hh202860.aspx

Contedo

Banco de Dados no Windows Phone

SQL Compact Edition

SQL Metal

Acesso ao Banco de Dados no Windows Phone

Viso Geral

Banco de Dados no Windows Phone

Para manipular dados em um banco, o Windows Phone


utiliza o LINQ para SQL
A aplicao Windows Phone utiliza um objeto DataContext
para manipular o banco de dados relacional
O arquivo do banco de dados (SQL Compact) fica
armazenado em uma rea denominada Isolated Storage
que gerencia todas as operaes de IO (input-output)

Aplicao

LINQ para SQL

ISOLATED STORAGE

DATA CONTEXT

Bando de Dados

System.Data.Linq

SQL Compact

Modelo do Banco de Dados

O diagrama lgico abaixo apresenta o banco de dados


da aplicao: o campo PrecoVenda o valor anunciado
do veculo e o ValorVenda, o valor da negociao.

Diagrama de Casos de Uso

Diagrama de Arquitetura

A aplicao Windows Phone acessa um banco de dados


local, o SQL Server Compact, utilizando o LINQ to SQL
e implementa as funcionalidades requeridas pelo
sistema.

SQL Server Compact

Passo 1: Inicie o Management Studio do SQL Server

Selecione SQL Server Compact em Server Type


Selecione <New Database...> em Database File

Definio do Banco de Dados

Passo 2: Defina o nome do banco de dados

Entre o nome do banco de dados a ser criado e confirme a


operao (o uso de senha opcional)

Passo 3: Conecte no banco de dados aps a criao do


arquivo

Definio das Tabelas do Banco

Passo 4: Defina as tabelas do banco de dados

Clique o boto direito na pasta Tables do banco e insira


uma nova tabela.
Defina a tabela de fabricantes conforme a figura abaixo.
No use campo com autoincremento para este exemplo.

Definio das Tabelas do Banco

Passo 5: Defina as tabelas do banco de dados

Defina, em seguida, a tabela de veculos conforme a


figura abaixo.

Relacionamento entre Tabelas

Passo 6: Relacione as tabelas do banco de dados

Para relacionar as tabelas no SQL Compact necessrio


rodar um comando Alter Table utilizando a linha de
comando.
Clique em New Query para abrir o editor de comandos e
execute o comando abaixo.
O banco de dados da aplicao est concludo.

Imagem do Banco de Dados

Configurao do DataContext

Passo 7: Configurao do DataContext

A configurao do DataContext (Mapeamento ObjetoRelacional) do banco de dados no Windows Phone


realizada com o aplicativo SQLMetal.
Localize o aplicativo na pasta C:\Program Files\Microsoft
SDKs\Windows\v7.0A\bin
E execute o comando abaixo:
sqlmetal /namespace:ExWindowsPhoneDB.Model
/code:c:\temp\LojaDataContext.cs c:\temp\Loja.sdf
A classe Loja, descendente de
System.Data.Linq.DataContext, inserida no NameSpace
ExWindowsPhoneDB.Model definida no arquivo
LojaDataContext.cs

Aplicao Windows Phone

Passo 8: Inicie o Visual Studio e insira uma aplicao


Windows Phone

Nomeie a aplicao de ExWindowsPhoneDB


Clique com o boto direito no projeto, selecione Add |
New Folder e insira uma pasta Model na aplicao
Copia para a pasta Model o arquivo LojaDataContext.cs,
criado pelo SQL Metal
Clique o boto direito na pasta, selecione Add | Existing
Item e insira o arquivo no projeto.

Referenciando o LINQ

Passo 9: Referenciando o assembly do LINQ

Clique o boto direito na pasta References do projeto,


selecione Add Reference
Insira o assembly do LINQ (System.Data.Linq) no projeto
da aplicao.

Correo do Arquivo do SQLMetal

Passo 10: Correo do arquivo gerado pelo SQL Metal

Abra o arquivo LojaDataContext.cs e comente os


construtores que recebem parmetros da interface
IDbConnection (no utilizados)

/*
public Loja(System.Data.IDbConnection connection) :
base(connection, mappingSource)
{
OnCreated();
}
*/

Interface da Aplicao

Passo 11: Defina a interface


da aplicao

Defina a interface simplificada


da aplicao, conforme ao
lado (apenas para teste da
arquitetura)
Trs botes, duas caixas de
texto, dois blocos de textos e
um Listbox.

Acesso ao Banco de Dados

Passo 12: Acesso ao banco de dados

Para acessar o banco de dados no telefone, necessrio


definir a string de conexo e instanciar o contexto de
dados.
Defina os atributos abaixo na classe da pgina principal
para realizar esta tarefa.

// String de conexo
private string
lojaConnectionString = "Data Source=isostore:/Loja.sdf";
// Contexto de dados
private Loja dc;

Criao do Banco de Dados

Passo 13: Programao do Boto Create DB

O boto Create DB usado para criar o banco de dados


no telefone, se este no existir ainda.

private void button1_Click(object sender, RoutedEventArgs e) {


// Instancia contexto de dados
dc = new Loja(lojaConnectionString);
// Verifica se banco de dados existe
if (dc.DatabaseExists())
MessageBox.Show("Banco de dados existente");
else {
// Cria banco de dados
dc.CreateDatabase();
MessageBox.Show("Novo banco de dados"); }
}

Insero de Fabricante

Passo 14: Insert

Programe o boto Insert, conforme abaixo:

private void button2_Click(object sender, RoutedEventArgs e)


{
dc.Fabricante.InsertOnSubmit(new Fabricante
{
Id = int.Parse(textBox1.Text),
Descricao = textBox2.Text
});
dc.SubmitChanges();
MessageBox.Show("Ok");
}

Seleo de Fabricantes

Passo 14: Select

Programe o boto Select, conforme abaixo:

private void button3_Click(object sender, RoutedEventArgs e)


{
listBox1.Items.Clear();
IEnumerable<Fabricante> fabr =
from f in dc.Fabricante select f;
foreach (Fabricante f in fabr)
listBox1.Items.Add(f.Id.ToString() + " - " + f.Descricao);
}

Exerccios

Exerccios
Concluir a implementao do aplicativo

Você também pode gostar