Escolar Documentos
Profissional Documentos
Cultura Documentos
Descrição: Neste artigo veremos como usar o SDE para criar uma simples aplicação usando Pocket PC, consumindo um WebService e utilizando o
SQL Server CE Edition 2.
A plataforma permite que aplicações nativas Windows CE co-existam com aplicações baseadas em .NET.O Aplication Domain
Host ( aplicação nativa ) cria uma instância da CLR para executar código gerenciado.Aplicações desenvolvidas com o SDE
executam no topo da CLR, utilizando o .NET Compact Framework Class Library.
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.Services
<WebMethod()> _
Public Function PesquisaTítulos ( _
ByVal title As String) As DataSet
' Database Connection
Dim conn As New SqlConnection( _
"server=localhost; uid=sa;" & _
"password=; database=Pubs")
' Passa parâmetros ao SQL
Dim sql As String = "SELECT * FROM " & _
"titles WHERE title LIKE @title"
Dim comm As New SqlCommand(sql, conn)
comm.Parameters.Add("@title", _
"%" & title & "%")
O Web Method PesquisaTítulos() recebe uma string e retorna um dataset contendo todos os títulos dos livros conforme critério da
pesquisa
A aplicação para Pocket PC consiste de uma tab control com três tabpages.A primeira tabpage mostra os dados do Autor, a
segunda tabpage permite que os vendedores consultem os títulos dos livros e envie os pedidos as livrarias.A terceira tabpage
lista os pedidos e ordena por livrarias.A figura 2 mostra todos os controles usados nos formulários.Os controles usandos são
Label, TextBox, Button, ComboBox, ListBox e Tab Controls.
Quando o primeiro formulário é carregado, eu preciso checar se o Pocket PC contém a database para armazenar as informações
das livrarias.Se não estiver, eu usarei o objeto SQL Server CE Engine para criar a base de dados.Para conectar a uma base de
dados do SQL Server CE, nós precisamos usar o SQL Server CE Managed Provider.Então nós precisamos adicionar uma
referência ao nosso projeto System.Data.SqlServerCe.dll e importar o namespace Imports System.Data.SqlServerCe ( no Visual
Basic .NET ).
Figura3. Adicionando a Reference para o SQL Server CE Managed Provider
Uma vez criada a base de dados, eu preciso criar as tabelas.Para manipular as tabelas utilizo as classes do ADO .NET, nesses
casos utilizamos as classes do SQL Server CE Managed Provider – SqlCeConnection e SqlCeCommand.
cmd.CommandText = _
"INSERT INTO Stores (storeID, " & _
"storeName) VALUES (1, " & _
"'Great BookStore')"
cmd.ExecuteNonQuery()
cmd.CommandText = _
"INSERT INTO Stores (storeID, " & _
"storeName) VALUES (2, " & _
"'Computer BookStore')"
cmd.ExecuteNonQuery()
conn.Close()
End If
End Sub
Na figura abaixo, eu crio duas tabelas, Orders e Stores.A tabela Orders guarda os pedidos das livrarias e a tabela Stores contém
a lista de livrarias.Eu tenho que popular a tabela Stores com 2 registros.
O próxima passo é ler a lista de livrarias e mostrar na ComboBox usando a classe SqlCeDataReader.
Sub LoadStores()
conn.Open()
Dim reader As SqlCeDataReader
Dim cmd As New SqlCeCommand( _
"SELECT * FROM Stores", conn)
reader = cmd.ExecuteReader
While reader.Read
cboStoreID.Items.Add( _
reader.Item("storeID"))
End While
conn.Close()
End Sub
Assim, quando o Form estiver carregado, a ComboBox estará preenchida com a lista das livrarias:
Figura5. Populando a ComboBox
No arquivo BookStoreApp.zip, a Web Reference precisa ser modificada para trabalhar corretamente com o seu sistema. No
Solution Explorer, localize o TitlesWS, selecione, e mude a propriedade Web Reference à URL de WSDL correta (é atualmente
http://nome_da_maquina/Services/service1.asmx).
Segue o código do evento click da ComboBox que faz referência ao Web Service para preenchimento da ComboBox.
Como sempre, quando um título é selecionado, é exibido mais informação sobre o título selecionado nos labels controls:
Fazer um pedido para uma livraria, especifique a quantidade e clique em Adicionar. Uma ordem para a livraria selecionada será
enviada:
Checando as Ordens
Clicando na segunda tabpage, as orders feitas nas livrarias seram visualizadas.Ao clicar no botão Refresh a primeira ComboBox
trará as livrarias disponíveis.
Ao escolher a livraria a segunda ComboBox trará as suas ordens com a quantidade de cada livro solicitado.
Outra forma de você visualizar se as suas tabelas de seu banco de dados foram atualizadas corretamente no SQL Server CE
2.0, existe uma ferramenta conhecida como SQL Server CE Query Analyzer.A primeira vez que sua aplicação é executada é
referenciado o SQL Server CE Managed Provider, e o SDE se incumbi de copiar para seu dispositivo os arquivos ao emulador.O
SQL Server CE Query Analyzer pode ser invocado clicando em Star-> SQLCE Query (Veja na Figura 10).
Figura9. Usando o SQL Server CE Query Analyzer
Para conectar ao banco de dados SQL Server CE, click no botão e selecione-o.
Você pode conectar a um banco de dados existente ou pode criar um novo. Neste artigo, mostrarei como nós podemos examinar
o banco de dados que nós criamos.
Para retornar os registros das tabelas, você pode usar as declarações do SQL debaixo da aba de SQL e pode examinar os
resultados debaixo da aba da grade:
Uma característica do Query Analyzer é a função "Button Presets". O Button Presets permite armazenar declarações de SQL
geralmente usadas, de forma que as declarações possam ser invocadas simplesmente fazendo click nos botões prefixados (label
1-10).
Figura13. Usando o Preset button para armazenar declarações de SQL statements geralmente usadas
Abrindo e Fechando
Você também pode notar que a aplicação abre e fecha conexões de banco de dados antes e depois de cada operação.
Deployment
O deployment pode ser feito de duas formas são elas:
- Microsoft ActiveSync
Após conectar o cabo na USB do computador ou notebook, o ActiveSync mostrará como status ( conectado ) estando apto
portanto a receber os arquivos que o Visual Studio .NET enviará.
Sua máquina precisa ter uma placa de loopback com no. de IP fixo.
- Wireless
Será obrigatório ter duas placas wireless sendo cada uma com um no. de IP fixo, uma no computador ou notebook e outra no
Ipaq ou Windows CE, configurando-a ponto a ponto.
Para efetuar o deployment através de wireless troque as propriedades do seu VS .NET, click em Tools/Options/Device
Extensions, Transport como TCP Connect Transport, Startup Server como ActiveSync Startup Provider e click em Configure e
configure o IP do seu Ipaq ou Windows CE veja como abaixo:
Figura14. Configurando Transport para TCP Connect Transport
Conclusão
Neste artigo, nós vimos como usar o SDE para criar uma simples aplicação usando Pocket PC, consumindo um Web Service e
utilizando o SQL Server CE Edition 2.No próximo artigo discutirei como os dados armazenados no SQL Server CE podem ser
reproduzidos ou sincronizados com o banco de dados SQL Server.