8 Mayıs 2013 Çarşamba

Devart ile İlk Veritabanı iOS Uygulamamız

Bilindiği üzere önceki yazımda Devart bileşenlerinin tanıtım duyurusunu yayınlamıştım. Hemen trial versiyonunu indirerek küçük bir örnek yaptım.

Örneğimizde Devart UniDac bileşenlerini kullanarak uzaktaki bir MySQL veritabanından direkt olarak olarak veri çekip, veri yazmayı denedim.

İlk olarak MySQL veritabanına sahip değilsek MySQL indirip bilgisayarımıza kuruyoruz. Kurulum bittikten sonra MySQL WorkBench uygulamasını çalıştırıyoruz. Varsayılan olarak Veritabanlarında "Test" diye bir veritabanı mevcut. Eğer yoksa Test diye bir veritabanı açıyoruz ve altına "adsoyad" diye bir tablo oluşturuyoruz ve aşağıdaki alanları açıyoruz.



Alan Adı
Veri Tipi
idADSOYAD
İnt
AD
Varchar(45)
SOYAD
Varchar(45)








Tablomuz artık hazır. Şimdi Delphi tarafına geçelim.

File > New > FireMonkey Mobile Application kısmından Blank Application'ı seçiyoruz.

Formumuza 2 adet Tlabel, 2 adet TEdit, 1 adet TGrid, 1 adet TButton ve Veritabanı gereçlerinden de UniConnection ,UniQuery, MySQLUniProvider nesnelerini forma sürüklüyoruz.

UniConnection nesnesine sağ tık menüsünde yer alan Connection Editor menüsünden connection ayarlarımızı yapıyoruz.

UniQuery nesnemizin içine sorgumuzu yazıyoruz, gride bind edebilmemiz için query'i bir kere open ediyoruz. Daha sonra TGrid nesnemize sağ tıklayarak Bind Visualy seçeneğini tıklayarak UniQuery nesnemizdeki alanlarımızı TGrid nesnesi üzerindeki Yıldız(*) sembolüne sürüklüyoruz.
















Formun create event'ında Query nesnemizi açalım :

procedure TForm2.FormCreate(Sender: TObject);
begin
  UniQuery1.Close;
  UniQuery1.SQL.Text := 'SELECT * FROM test.ADSOYAD;';
  UniQuery1.Open;
end;

Forma yerleştirdiğimiz Button'un Text özelliğine "Kaydet" yazıyoruz ve click event'ına aşağıdaki kaydetme kodunu yazıyoruz.

procedure TForm2.Button1Click(Sender: TObject);
begin
  UniQuery1.Insert;
  UniQuery1.FieldByName('AD').AsString := Edit1.Text.Trim();
  UniQuery1.FieldByName('SOYAD').AsString := Edit2.Text.Trim();
  UniQuery1.Post;
  Edit1.Text := '';
  Edit2.Text := '';
end;

































Son olarak uygulamamızı iOS Simulator'de çalıştırıyoruz.














Yeniden görüşmek dileğiyle...

3 yorum:

  1. Bilgilendirme icin tesekkur ederim.
    En kisa surede deneme surumunu indirip kurcalamak lazim.

    YanıtlaSil
  2. Merhaba, şu satırda "UniQuery1.Close;" close için uniquery'nin üyesi değil hatası veriyor, gerçekten de unidac'ın sitesine baktığımda uni sınıfının close nesnesinin olmadığını gördüm. Acaba ben mi bir yerde yanlış yapıyorum. Siz nasıl çalıştırdınız?

    YanıtlaSil
  3. Uniquery nesnesinin close methodu mevcut, yanlış bir yükleme yapmış olabilirsiniz. Google üzerinden de Uniquery1.Close diye arattığınızda DevArt'ın kendi sitesi dahil birçok başlık olduğunu göreceksiniz.

    Saygılarımla

    YanıtlaSil