Makale Özeti

Mobil iletişimin zirveye tırmandığı şu günlerde artık yavaş yavaş ceplerimizi işgal eden Cep Bilgisayarlarımızda Microsoft SQL Server CE ile nasıl çalışacağımızı anlatan ufak bir yazı dizisi ile size tekrar merhaba diyorum.

Makale

Mobil iletişimin zirveye tırmandığı şu günlerde artık yavaş yavaş ceplerimizi işgal eden Cep Bilgisayarlarımızda Microsoft SQL Server CE ile nasıl çalışacağımızı anlatan ufak bir yazı dizisi ile size tekrar merhaba diyorum.

Bu örnek size Bir cep bilgisayarında, SQL CE kullanarak veritabanı oluşturma ve veri yazmaya ufak bir örnek niteliğindedir. Başka bir yazıda Visual Studio 2003 ile Visual Studio 2005 mobil uygulama geliştirmede iki sürüm arasındaki farklara çok az da olsa değinmek istiyorum.

Bu Örnek yapılırken
1- Visual Studio 2003
2- Microsoft Active Sync 4.2.0
3- Pocked PC (veya visual studio ile beraber gelen emülatörde kullanabilirsiniz.)
Kullanılmıştur.

Örneğim de, Visual Studio 2003 (Visual Studio 2005 ile de aynı işlemleri yapabilirsiniz) ve Üzerinde Windows Mobile 2003 kurulu olan bir Pocked PC kullanılmıştır.


İlk olarak yapmamız gereken işlem cep bilgisayarımıza SQL CE kurulumu yapmaktır. Bunun için ilk adım olarak Visual Studio da bir adet “Smart Application” örneği oluşturuyoruz.




Ve isteğinize göre bir çalışma örneği seçerek işlemimize devam ediyoruz. Ben örneğimde PockedPC Application uygulaması seçerek ve uygulamanın bir Windows Application olduğunu belirterek devam ettim.



 

Şimdi projemize System.Data.SqlServerCe referansını ekleyip, ardından cihazımıza SQL CE kurulumu yapılması için projemizi deploy edelim. Deploy işleminde Cep bilgisayarınızın MS Active Sync ile bağlantıda olduğuna emin olunuz. Bu işlem cep bilgisayarınıza üzerinde SQL Server CE kuracaktır.




Pocked PC üzerinde Net Compackt Framework (kullandığınız visual studio versiyonuna göre 1.2 yada 2.0 yüklenecektir) ve Microsoft SQL CE kurulumları
 



 

Not : Microsoft Active Sync 4.2.0 de bulunan bir bugdan dolayı Visual Studio 2003 kullanıyorsanız ve cihazınızla iletişim kurulumda hata alıyorsanız
http://www.microsoft.com/downloads/details.aspx?familyid=7Ec99CA6-2095-4086-B0CC-7C6C39B28762&displaylang=en#filelist

adresinden Windows CE .NET Utilities v1.1 for Visual Studio .NET 2003 dosyasını indirerek sisteminizi güncelleyiniz. Bu konuda açıklayıcı bilgi sayfada mevcuttur.



Kurulum işlemi bittikten sonra Windows Mobile 2003 kullanıyorsanız başlat çubuğuna Windows CE.NET kullanıyorsanız Program Files içerisinde SQLCE Query programını başlatıp programı inceleyebilirsiniz.
 

 

Not: SQLCE Query programını, Normal bilgisayarımızda kullandığımız Microsoft SQL Enterprise Manager uygulaması ile karıştırmayın.

SQLCE Query analyzer basit bir şekilde database oluşturmamızı ve bunu yine basit bir şekilde yönetmemizi sağlayan küçük bir araçtır.

Tablo ve stunlarımızı kod kısmında oluşturacağımız gibi burada da oluşturabiliriz. Ama dikkat edilmesi gereken bir nokta da SQLCE Query, Stored Procedure oluşturmaz ve yürütmez. Bunun yerine sorgu cümleleri kod içerisinden yazılır.



Şimdi programımıza geri dönebiliriz.
Basit bir şekilde bir tablo oluşturmak için programımıza bir buton ekliyor ve click methoduna kodlarımızı yazıyoruz.

İlk olarak System.Data.SqlServerCE namespacesini projemize import edelim.
 

Imports System.Data.SqlServerCe

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' Veritabanı bağlantısı oluşturmak için bir SqlCeEngine
' nesnesi oluşturup veritabanı için yol bilgisini verelim
' burda dikkat etmemiz gereken nokta fiziksel yol bilgilerinin
' doğru olması gerekmekte. Aksi takdirde program hata verecektir

Dim DatabaseOlustur As New SqlCeEngine("Data Source = \My Documents\data\deneme.sdf")

' ve veritabanımızı oluştururması için create database komutunu çalıştırıyoruz

DatabaseOlustur.CreateDatabase()
MessageBox.Show(
"veritabanı oluşturuldu")

 

' veri tabanımız oluşturuldu. Devamında içerisine bir adet tablo oluşturalım
' Bunun için bağlantımızı oluşturup açalım

Dim Baglanti As New SqlCeConnection("Data Source = \My Documents\data\deneme.sdf")
Baglanti.Open()

' ve tablo oluşturmamız için gereken SQL Kodunu yazalım
Dim TabloOlustur As SqlCeCommand = Baglanti.CreateCommand()

TabloOlustur.CommandText = "CREATE TABLE Kisiler(ID int IDENTITY(0,1) " & _
"PRIMARY KEY, Adi ntext, Soyadi ntext)"

TabloOlustur.ExecuteNonQuery()

' oluşturduğumuz tabloya bir satır veri gönderelim
Dim VeriYaz As SqlCeCommand = Baglanti.CreateCommand
VeriYaz.CommandText =
"INSERT INTO Kisiler (ID, Adi, Soyadi) " & _
"VALUES('Ferhat', 'ULU')"
VeriYaz.ExecuteNonQuery()

' ve işimiz bitti
Baglanti.Close()

End Sub

 

Dikkat etmemiz gereken noktalar (maddeler halinde)

1 Veri bağlantı satırı oluşturduktan sonra bağlantının hemen açılması
2 Windows programlamadan aşina olduğumuz SQLCommand nesnesini NEW diyerek tanımlamıyor olmamız
3 SQLCE aynı anda sadece 1 bağlantıya izin veriyor olmazı. Bu demek oluyor ki bir seferde sadece bir bağlantı kullanabilirsiniz. Bu sadece program üzerinde değil. Siz Pocked PC üzerinde SQLCE Query analyzer programını açık bırakmanız bile hata sebebi olacaktır.


Şimdilik bu yazdıklarımız SQLCE kullanımına basit bir düzeyde nasıl olabileceğine dair bir örnekti.