Smart Device Application with VB.NET

Introduction

Smart device applications support many remote concept applications. It connect the databases in various ways normally it contain local databases stored in Temp folder. It maintain temp database. Smart device applications is of two types

  • Pocket PC
  • Windows CE                                  

ADO.Net architecture support Sqlserver and SqlserverCE. It is used for operations such as insert, update and delete etc.

SqlserverCE is used for CE based applications that is disconnected from Sqlserver databases. Sqlclient is used for CE based applications that is direct connection to Sqlserver databases.

Pocket PC is just like emulator. It reflect mobile operation. Normally smart device contain local database with help of SQLServerCE.
          
Deploying this application will create own framework and SQLCE. For connecting to remote or our local temp database we will use SqlserverCE or Sqlclient. SqlserverCE is used to run the application in WindowsCE based platforms.

Interfaces needed to interact with SqlServerCE Replication and RDA are SqlCEReplication and SqlCERemoteDataAccess. SqlCEEngine class used to enable databases.

Why we prefer SqlserverCE

Normally Sqlclient on windows CE-based devices may leverage the Windows authentication protocol, instead of using SQL Server authentication. Connection string cannot support AttatchDBFile, Max Pool Size, Connection Lifetime, Connection Reset and Pooling.

  • It cannot read ANSI column.
  • Distributed transactions are not supported.

We can connect to remote Sql database using two methods.

  • Replication
  • RDA (Remote Data Access)

Replication

It enable to access Sqlserver. Replication is message based data access. SqlserverCE synchronize with Sqlserver by using HTTP connection with help of IIS.

RDA Method

RDA tracked PULL and PUSH methods use optimistic concurrency control.

PULL Method

An application calls the PULL method to extract data from Sqlserver database and store the data in SqlserverCE.

PUSH Method

An application calls the PUSH method to transmit changes from a PULLED tracked table in SqlserverCE back to Sqlserver table.

Open the Smart device application we will set some data provider references.

Now we will see the normal database connection with in the local sqlserverCE. The below example describe how to insert the values in local .sdf database and how to delete the records in that table.

Click Project menu and click Add Reference.

Microsoft.WindowsCE.Forms
System.Data.Common
System.Data.SqlServerCE
System.Windows.Forms

Set the references then we will import SqlServerCE namespace.

Imports System.Data.SqlServerCE

Let's start with the traditional "Employee Details" application, Creating an application on the desktop using Visual Studio .NET

Create a new SDE project using Visual Basic .NET

Open the "New Project" dialog and select-from "Visual Basic Projects" - the "Smart Device Application" template (see Figure 1).

New-Project-Vb.net.gif   

Fig 1. New Project dialog for Smart Device Application

Give your application a name (such as "Employee Details"). This will create a new directory under location to contain your application's source code. Then click OK.

This starts the "Smart Device Application Wizard". Then choose specfic type, Pocket PC or Windows CE.

Smart-Device-Vb.net.gif
           
Fig 2. Smart Device Application Wizard

Choose the Platform (use Pocket PC if you will be using the emulator).

Choose the Project Type. For our first simple application-which simply displays a form on the device-choose "Windows Application". Then click OK.

Window-Form-Vb.net.gif
 
In form load we will create SqlConnection before that create one SqlserverCE engine. it will create  temp database with in emulator.

Dim engine As New System.Data.SqlServerCe.SqlCeEngine("data source=\temp\login.sdf")

 

engine. CreateDatabase()


Then we will create table after opening the connection to the database.

 

con. Open()

 

Dim str As String = "create table login(name ntext,pass ntext)"


Click the Ok button it will insert in local DB.

 

Dim str As String = "insert into register values('" & user.Text & "','" & pass.Text & "')"

 

sqlcmd.CommandText = str

sqlcmd.ExecuteNonQuery()

con.Close()


In the above process, repeat with delete process.

 

Dim con As New System.Data.SqlServerCe.SqlCeConnection("data source=\temp\login.sdf ")

con.Open()

Dim sqlcmd As System.Data.SqlServerCe.SqlCeCommand = con.CreateCommand()

sqlcmd.CommandText = "delete from register where name ='" & user. Text & "' "

sqlcmd.ExecuteNonQuery()

con.Close()


Similar Articles