Makale Özeti

Bu makalemizde mobil uygulamalar geliştiren herkesin işine yarayacak bir konuya mobil uygulamalarda veritabanı bağlantısı kurmaya değineceğiz

Makale

Windows Mobile 6.5 Veritabanına Bağlanmak

Bu makalemizde mobil uygulamalar geliştiren herkesin işine yarayacak bir konuya mobil uygulamalarda veritabanı bağlantısı kurmaya değineceğiz.

Windows Mobile işletim sistemi kurulu mobil cihazlara uygulama geliştirmek istiyorsanız Visual Studio 2008′i kurmanız ve aşağıdaki sdkları yüklemeniz gerekiyor.

1)Windows Mobile 6 Professional and Standard Software Development Kits Refresh

http://www.microsoft.com/downloads/details.aspx?FamilyID=06111a3a-a651-4745-88ef-3d48091a390b&displaylang=en

Yukarıdaki SDK Visual Studio’muza Windows Mobile 6 uygulamaları geliştirebilmemiz için gerekli olan dökümantasyon, örnek kodlar, kütüphane dosyaları, emulator resimleri ve araçları ekler. 

2)Windows Mobile 6.1.4 Professional Images (USA)

http://www.microsoft.com/downloads/details.aspx?FamilyId=1A7A6B52-F89E-4354-84CE-5D19C204498A&displaylang=en

Yukarıdaki paket Visual Studio ile kullanılabilecek yerelleştirilmiş Windows Mobile 6.1.4 emulator resimlerini içerir.

3)Windows Mobile 6.5 Professional Developer Tool Kit (USA)

http://www.microsoft.com/downloads/details.aspx?FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e&displaylang=en

Windows Mobile 6.5 için emulator resimleri ve örnekleri içerir.

4)Windows Mobile 6.5.3 Professional DTK

http://www.microsoft.com/downloads/details.aspx?FamilyID=c0213f68-2e01-4e5c-a8b2-35e081dcf1ca&displaylang=en

Yukarıdaki DTK Windows Mobile 6.5 ve 6.5.3 uygulamaları geliştirebilmemiz için gerekli olan dökümantasyonu , örnek kodları , kütüphane dosyalarını , emulator resimleri ve araçları sağlar.

Yukarıdaki yazılımları kurduktan sonra ise Visual Studio 2008′i açıp File->New->Project->Smart Device->Smart Device Project seçiyoruz.

Daha sonra karşımıza aşağıdaki ekran geliyor.Buradan da aşağıda görüldüğü gibi Target Platforms seçeneğinden Windows Mobile 6 Professional SDK’yı ve .NET Compact Framework version’dan da 3.5′i seçiyoruz.Template’lerden ise Device Application’ı seçiyoruz ve tamam diyoruz.

Bu ayarları yaptıktan sonra karşımızda emulatorümüzü görebiliyoruz ve artık kodlamamız için her şey hazır durumda

Mobil cihazlarda SQL server uygulamaları yapabilmemiz için SQL SERVER COMPACT EDİTİON kullanmamız gerekiyor.Yukarıda kurduğumuz yazılımlar ile SQLCE’yi zaten kurmuş bulunuyoruz.Şimdi bir veritabanı ekleyelim projemize ve veri çekmeye çalışalım.

Projemizde Server Explorer’ı örmek için View menüsünden Server Explorer’a tıklıyoruz daha sonra solution explorer’da projemize sağ tıklıyoruz. Add->New Item diyip data sekmesine tıklıyoruz ve Database File’ı seçiyoruz.

Şimdi sıra geldi yeni bir tablo oluşturmaya. Aynı Sql Server’da olduğu gibi database’in altındaki Tables üzerine sağ tıklıyoruz Create New Table diyerek yeni bir tablo oluşturuyoruz.

Tablomuzun adını tbl1 olarak kaydediyoruz. Aşağıda görüldüğü gibi id ve name olmak üzere iki tane column ekliyoruz tablomuza ve id’yi primary key olarak işaretliyoruz.

Şimdi de tablomuzun içindeki verileri görmek için aşağıdaki gibi tbl12in üzerine sağ tıklayıp show table data’yı seçiyoruz.

 Görüldüğü gibi henüz hiçbir veri eklemediğimizden tablomuz boş görünüyor. ID sütununun altında NULL yazan yere 1 name altında NULL yazan yere de duygu yazıyoruz ve tabloyu kapatıyoruz.

Şimdi sıra geldi uygulama üzerinden veri tabanımıza erişip eklediğimiz veriyi görmeye. Bunu yapabilmek için öncelikle sqlce dll’ini projemize eklememiz gerekiyor.Projemize sağ tıklayıp add reference’i tıklıyoruz ve önümüze gelen listede System.Data.SqlServerCe’yi tıklıyoruz böylece artık Visual Studio yazdığımız sqlceconnection ve diğer sqlce komutlarını tanıyacaktır.

Uygulamamızı açıp üzerine bir textbox ve bir de buton ekliyorum. Şimdiki senaryomuz butona tıkladığımda tablomdaki id’si 1 olan kişinin name özelliğini textbox’a yazdırmak. Yani textbox’ın içinde “duygu” yazmasını umuyoruz.

 Uygulamanın kod kısmını açarak an üstteki namespacelere “ using System.Data.SqlServerCe; ” satırını ekliyoruz.Daha sonra butonun üzerine çift tıklıyoruz ve aşağıdaki kodları yazıyoruz:

   1:  private void button1_Click(object sender, EventArgs e)
   2:          {
   3:              string conSTR = "Data Source=" +
   4:                  (System.IO.Path.GetDirectoryName(System.Reflection
.Assembly.GetExecutingAssembly().GetName().CodeBase)) +
   5:                  "\\AppDatabase1.sdf;Persist Security Info=False";
   6:              SqlCeConnection connection = new SqlCeConnection(conSTR);
   7:              SqlCeCommand cmd = new SqlCeCommand(
"select name from tbl1 where id ='1'",connection);
   8:              connection.Open();
   9:              textBox1.Text = cmd.ExecuteScalar().ToString();
  10:              connection.Close();
  11:          }
 
 

Tahmin edebildiğiniz gibi ilk 3 satırda connection string oluşturuyoruz.4.satırda connection tanımlıyoruz.5.satırda gerekli sql sorgumuzu yazıyoruz (senaryoma göre id’si 1 olan kişinin ismini veritabanından çekmek istiyoruz) ve daha sonra veritabanından gelen veriyi Textbox’ta gösteriyoruz. Yukarıda görüldüğü gibi bu işlemlerin normal sqlserver’da yaptığımız işlerden hiçbir farkı yok. Şimdi sıra geldi projemizi çalıştırmaya F5′e basarak projemizi çalıştırıyoruz ve şöyle  bir ekran ile karşılaşıyoruz:

Yukarıdaki seçeneği seçiyoruz ve Deploy’a basıyoruz. Bir süre beklememiz gerekecektir ve sonunda uygulamamız açılacaktır. Aşağıdaki ekran karşımıza gelecektir:

Butona tıklıyoruz ve uygulamamızın sonucunu görüyoruz:

Böylece istediğimiz bilgiyi görmüş oluyoruz. Bir mobil uygulamada veritabanından veri çekmeyi inceledik ve sql server’dan bir farkı olmadığını görmüş olduk. Insert ,Update, Delete işlemlerini de sql server’da olduğu gibi gerçekleştirebiliyoruz.

Projenin kodlarına buradan ulaşabilirsiniz.