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).
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.

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.

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()