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