Makale Özeti

Visual Studio 2005 ve SQL Server 2005 kullanarak, adım adım bir SQL Mobil uygulaması geliştirmek için; 3 aşamadan oluşan makale serisinin bu son adımında; daha önceki makalelerde yarattığımız veritabanına bağlanacak, hiçbir kod yazmadan içeriğini görecek ve sonunda da bu yeni veritabanımızı kullanan bir mobil cihaz uygulaması yaratacağız.

Makale

SQL Mobile Uygulaması Geliştirme III

Server Explorer ın Kullanımı

Server Explorer ı Başlatmak İçin

  1. Visual Studio 2005 i çalıştırın.
  2. Visual Studio içinde, View menüsünden Server Explorer a tıklayın.

Veri Bağlantısı Eklemek İçin

  1. Server Explorer da, figürde de görüldüğü gibi Data Connections nesnesine sağ tıklayın.


    Figür 1. Veri Bağlantısı Ekleme

     
  2. İçerik menüsünden, Add Connection a tıklayın.

    Choose Data Source diyalog kutusu ekrana gelecektir.


    Figür 2. Choose Data Source Diyalog Kutusu

     
  3. Choose Data Source diyalog kutusunda Data Source olarak Microsoft SQL Server Mobile Edition seçin ve Continue butonuna tıklayın.

    Add Connection diyalog kutusu ekrana gelecektir.

  4. Add Connection içindeyken, Data Source içinde, My Computer a tıklayın.
  5. Connection Properties içinde, Database alanına C:\Exercises\SQLMobile.sdf girin.

    Bu, daha önceki makalelerimizde yaratmış olduğumuz veritabanıdır.

  6. Test Connection a tıklayın. Bu veritabanına ulaşmak için belirttiğimiz yolun doğru olup olmadığını kontrol eder.

    Eğer test başarılı olursa, ekranda Test connection succeeded mesajı belirir.

  7. Test başarı ile gerçekleşmişse, tamam butonuna tıklayarak onaylayın.
  8. Add Connection diyalog kutusunda tamam butonuna tıklayın.

    SQLMobile veritabanınız Server Explorer içinde görülecektir.

Visual Studio 2005 İçinde Veritabanınızın İçeriğini Görmek İçin

  1. Server Explorer da SQL Server Mobile veritabanınızın altındaki düğümü genişletin.
  2. Tablo nesnesine sağ tıklayın daha sonra da Open a tıklayın.

    Tablonun içeriği figürde de görüldüğü gibi listelenecektir.


    Figür 3. Tablonun İçeriği

     
  3. Tablo verileri üzerinde gezinebilirsiniz. Bitirdiğinizde, tabloyu kapatın.


Aygıt Uygulaması Yaratma

Bir Proje Yaratmak İçin

  1. Visual Studio içinde, File | New | Project a tıklayın.

    New Project diyalog kutusu ekranda görülecektir.

  2. New Project diyalog kutusu içinde, Project types altında, önce C# ve sonra da Smart Devices düğümünü genişletin. Windows Mobile 5.0 Pocket PC seçeneğini seçin.
  3. Templates bölümünde, Device Application a tıklayın.
  4. Name alanına VS_SQLMobile girin.
  5. Location alanına C:\Exercises yazın.
  6. OK butonuna tıklayın.

Kullanıcı Arayüzü Yaratmak İçin

  1. Solution Explorer da Form1.cs ye sağ tıklayın ve daha sonra View in Form Designer a tıklayın.

    Uygulama, Form Designer da aşağıdaki gibi görülecektir.


    Figür 4. Visual Studio Form Designer

     
  2. View | Toolbox a tıklayın.
  3. Toolbox dan, TabControl kontrolüne tıklayın ve Form1 alanına sürükleyin.
  4. TabControl kontrolü üzerinde, List, Update, ve Sync olmak üzere üç tab yaratın.
  5. Toolbox dan, DataGrid kontrolüne tıklayın ve Form1 alanına sürükleyin.

Veri Kaynağı Eklemek İçin

  1. Form1 üzerinde, dataGrid1 seçin ve Properties penceresinden, datagrid in DataSource özelliğine tıklayın.
  2. Açılan pencereden Add Project Data Source a tıklayın.

    Data Source Configuration sihirbazı ekrana gelecektir.

  3. Data Source Configuration sihirbazında, önce Database e daha sonra da Next e tıklayın .

    Choose Your Data Connection penceresi ekrana gelecektir.

  4. New Connection a tıklayın.

    Add Connection sayfası ekrana gelecektir.

  5. Add Connection sayfasında, Data Source içinde, My Computer a tıklayın.

    Eğer SQL Mobile veritabanı dosyaları mobil cihazınız üzerindeyse, My Computer yerine ActiveSync Connected Device seçeneğini seçebilirsiniz.

  6. Connection Properties içinde, Database alanına C:\Exercises\SqlMobile.sdf yazın.
  7. Test Connection a tıklayın. Bu veritabanına ulaşmak için belirttiğimiz yolun doğru olup olmadığını kontrol eder.

    Eğer test başarılı olursa, ekranda Test connection succeeded mesajı belirir.

  8. Test başarı ile gerçekleşmişse, tamam butonuna tıklayarak onaylayın.
  9. Next e tıklayın.

    Local database file mesajı ekrana gelecektir.

    Not: Eğer veri tabanı dosyanızı projenize eklemişseniz, bu diyalog kutusu ekrana gelmeyecektir.

  10. Mesajı onaylayarak geçin.

    Choose your database objects sayfası figürde de gösterildiği gibi ekrana gelecektir.


    Figür 5. Choose Your Database Objects Sayfası

     
  11. Choose your database objects sayfasında, Tables ve ItemData düğümünü genişletin. Sonra da ItemName işaretleyin.
  12. Finish e tıklayın.
  13. List tabında bir Refresh butonu yaratın ve ismini btnRefresh yapın.
  14. Update tabı üzerinde üç tane buton yaratın. Insert, Update ve Delete ve isimlerini btnInsert, btnUpdate ve btnDelete yapın.
  15. Sync tabı üzerinde Sync butonu yaratın ve ismini btnSync yapın.

    Şimdi Insert, Update, Delete, ve Refresh butonlarınız için kod yazmanız gerekiyor.

  16. Visual Studio form designer da Insert butonuna çift tıklayın. Formun kod editörü butonun click olayını kullananan boş bir methot getirecektir. Aşağıda vermiş olduğum kodun içeriğini btnInsert_Click event inin içine yazın.



    Şimdi aynı işlemleri sırası ile diğer butonlarımız içinde yapacağız.

  17. Update butonuna çift tıklayın ve aşağıdaki vermiş olduğum kodun içeriğini btnUpdate_Click event inin içine yazın.



  18. Delete butonuna çift tıklayın ve aşağıdaki vermiş olduğum kodun içeriğini btnDelete_Click event inin içine yazın.



  19. Refresh butonuna çift tıklayın ve aşağıdaki vermiş olduğum kodun içeriğini btnRefresh_Click event inin içine yazın.



  20. Sync butonuna çift tıklayın ve aşağıdaki vermiş olduğum kodun içeriğini btnSync_Click event inin içine yazın.



  21. Şimdi ise Sync adında bir methot yaratmamız gerekiyor. Bir önceki makalemizde sizden New Subscription sihirbazından sonra oluşan C# kodunu bir txt dosyası içerisinde saklamanızı istemiştim. Şimdi bu kodu aşağıda yazmış olduğum methodun içine kopyalayıp, yapıştırın.



  22. Buradaki repl.SubscriberConnectionString ini içeren satırı aşağıdaki satırla değiştirin.

    repl.SubscriberConnectionString = @"Data Source=" + strPath;

  23. sa hesabınızın şifresini atamak için repl.PublisherPassword a atanmış olan şifre satırını düzenleyin.
  24. Ve son olarak aşağıdaki satırı kaldırın.

    repl.AddSubscription(AddOption.ExistingDatabase);

  25. Şimdi ise strPath, Form1_Load ve FillGrid methodu için aşağıda vermiş olduğum kodları yazın.



  26. Aşağıdaki using ifadesini Form1 kaynak kodunuzun en tepesini ekleyin.

    using System.Data.SqlServerCe;

    Emülatörünüz ve masaüstü bilgisayarınız arasında bağlantı kurabilmenin en kolay yolu emülatöre bağlanmak için ActiveSync kullanmaktır. Bu, Visual Studio 2005 ve ActiveSync 4.0 için sağlanan yeni bir özelliktir.

Emülatörünüz ve Masaüstü Bilgisayarınız Arasında Bağlantı Kurabilmek İçin

  1. Start | All Programs | Microsoft ActiveSync e tıklayın.
  2. ActiveSync menüsünden File | Connection Settings i seçin.
  3. Connection Settings diyalog kutusunda, eğer seçili değilse Allow connections to one of the following seçeneğini seçin ve daha sonra da takip eden listeden "DMA" seçeneğini seçin. OK e tıklayın.

    ActiveSync şimdi emülatöre ve tüm fiziksel aygıtlara bağlanabilecek. Bir sonraki adım, yeni Visual Studio 2005 Device Emulator Manager kullanarak; emülatöre bağlanmak olacak.

  4. Visual Studio 2005 menüsünde, Tools | Device Emulator Manager e tıklayın.
  5. Device Emulator Manager da, Windows Mobile 5.0 Pocket PC Emulator seçin. Windows Mobile 5.0 Pocket PC Emulator ı seçebilmek için Windows Mobile 5.0 Pocket PC SDK düğümünü genişletmeniz gerekebilir.
  6. Device Emulator Manager menüsünde Actions | Connect i seçin.

    Windows Mobile 5.0 Pocket PC Emulator ın hemen yanında yeşil bir ok görülmeli.

  7. Device Emulator Manager menüsünde Actions | Cradle a tıklayın.

    ActiveSync, bağlanma işlemine başlamalı.

  8. Microsoft Office Outlook diyalog kutusu ekrana gelirse, OK e tıklayın.
  9. Microsoft ActiveSync diyalog kutusu ekrana gelirse, OK e tıklayın.
  10. Synchronizing Setup sihirbazı sayfasında Cancel a tıklayın.

    Cancel a tıklama, emülatör ve bilgisayarınız arasındaki bağlantıyı; ActiveSync in dosyaları tutması ve Outlook bilgisini almak için konfigüre etmeden kurabilmeyi sağlar.

Bağlantıyı Doğrulamak İçin

  1. Bağlantıyı doğrulamak için ilk adım bilgisayarınızın IP adresini doğrulamaktır.
  2. Start | Run a tıklayarak komut satırını açın.
  3. Run içinde, cmd yazın ve enter a basın.

    Bu komut satırını açacaktır.

  4. Komut satırında, ipconfig yazın ve enter a basın.
  5. Dönen IP adresini not alın. Bu makinanızın IP adresidir.
  6. Emülatörde, Internet Explorer ı açın ve aşağıdaki URL yi adres satırına girin.

    http:///sqlmobile/sqlcesa30.dll.

    Eğer bağlantı doğruysa, "SQL Server Mobile Server Agent 3.0" yazısını içeren web sayfasını emülatörün browser ında göreceksiniz.

Uygulamayı Konuşlandırmak (Deploy) İçin

  1. Visual Studio içinde, Debug | Start Without Debugging a tıklayın.
  2. Deployment diyalog kutusu içinde, Device altında; Windows Mobile 5.0 Pocket PC Emulator a tıklayın.
  3. Deploy butonuna tıklayın.

    SQL Server 2005 veritabanınıza eklenmiş olan öğelerin bir listesini takip eden figürde olduğu gibi göreceksiniz.


    Figür 6. SQL Server 2005 Veritabanınıza Eklenmiş Olan Öğelerin Listesi

     
  4. Update tabına tıklayın. Sonra Insert, Update, ve Delete.
  5. Tekrar ilk taba gelin ve Refresh e tıklayın.
  6. Ekranda yapmış olduğunuz tüm değişiklikleri yansıtan veri listesini göreceksiniz.

    Güncellenmiş veri şu anda emülatörünüzde bulunuyor. Şimdi Sync tabında bulunan Sync butonunu kullanarak; güncellenmiş veriyi senkonize edebilirsiniz.

  7. Sync tabına ve Sync butonuna tıklayın.

    Şimdi veri SQL Server 2005 veritabanında da güncellendi.

    İsterseniz SQL Server Management Studio a tekrar dönün ve Item tablosuna bir göz atın. Emülatörünüzde değiştirdiğiniz verilerin, SQL Server 2005 de güncellendiğini göreceksiniz.



Özet

Bu üçlü makale serisinin sonunda aşağıdakileri gerçekleştirdik.

  • Server Tool bileşenlerini yükledik.
  • "SQLMobile" adında bir SQL Server 2005 veritabanı yarattık.
  • SQL Server 2005 ile veritabanı üzerinde bir yayın yarattık.
  • SQL Mobile veritabanı üzerinde bir abone yarattık.
  • Visual Studio 2005 server explorer ı kullanarak; SQL Mobile veritabanındaki verileri gösterdik.
  • VS 2005 ile bir mobil uygulama yarattık ve SQL Server 2005 den üretilen kodu burada kullandık.
  • Uygulamayı, emülatör üzerinde çalıştırmak üzere konuşlandırdık.
  • Aygıt üzerinde veriyi gösterdik ve güncelledik. Daha sonra da güncellenmiş veriyi SQL Server 2005 e senkronize ettik.


Bu makale serisinde, mobil uygulamamız için bir senaryo yarattık. SQL Server 2005 üzerinde bir veritabanı yarattık. Bir yayın, abone yarattık ve SQL Mobile veritabanına veri kaydettik. Visual Studio 2005 ve the .NET Compact Framework kullanarak; arka tarafta SQL Server 2005 veritabanı ile veriyi senkronize etmek ve SQL Mobile veritabanına erişebilmek için bir mobil aygıt uygulamasını yarattık.



Bir sonraki makalelerde görüşmek üzere. İyi çalışmalar...

Tayfun AKCAY

tayfun@tayfunakcay.com