Ersun PEHLİVAN

Software Developer / Process Management Consultant

Delphi ile ADO Arama, Filtreleme ve Kayıt işlemleri

Merhaba arkadaşlar Ado ile database işlemlerine kaldığımız yerden devam ediyoruz. Bir önceki makalemizde Ado ile Database bağlantısını incelemiştik.

Şimdi ise kayıt işlemlerine giricez.

Örnek formumuzu hazırlayalım , bir önceki makalede nasıl database bağlantı kurulacağını öğrenmiştik.



Formumuzu çalıştıralım



İlgili alanlara kodlarımızı yazmaya başlayalım
 
Delphi XE6 ile gelen yeni bir özellik C# ta bulunan Cast işleminin artık delphi cephesinde de bulunuyor olması.
 
Edit nesnesine girilen karakterlerin boşluklarını iptal edip uzunluğu sıfıra eşitse bir müşteri numarası girmesini istiyoruz kullanıcıdan
 
Locate fonksiyonu true/false tipinde bize değer döndürür true kayıt var false ise kayıt yok anlamındadır.
 
Locate fonksiyonu SQL yerine direk aktif datalar içinde arama yapıp cursor ilgili satıra konumlandırmaktadır. Performans yönünden gayet başarılıdır.

Aranan kayıt bulundu

 



Locate fonksiyonundan dönen değer false ise aranan kayıt bulunamadı mesajını alırız.
 
AdoTable nesnesinin aktif kayıtlar içinde filtreleme / süzme yapmamıza olanak tanıyan çok güzel bir fonksiyon bulunmaktadır.
 
Edit2 Change event olarak yazalım 
 
edit2 nesnesine girilen değer boş ise tüm kayıtları listele değilse ilgili filtreleme başlat
 
birden çok kaydı ekrana getirmektedir. 



 



Grid nesnemizde bulunan kayıtlar için bilgi girişi yapmamız gerekmektedir. Bunları istersek normal Edit, DBEdit veya yeni bir özellik olarak link vererek yapabiliriz. 
AdoTable1 çift tıklayalım açılan pencereden sağ tuş yapıp Add all fields diyerek AdoTable1 içindeki tüm kolonları getirelim.
 





İlgili kolonu seçili tutup formumuzun herhangi bir yerine bırakalım, Delphi bizim yerimize veri girişi için gerekli olan nesneleri oluşturmuş oldu. 



Kayıt işlemleri için formun son hali (Yeni, kaydet, düzenle, sil)



procedure TForm1.Button2Click(Sender: TObject);
begin
 // yeni bir satır ekle
 ADOTable1.Append;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
 // yeni eklenen kaydı kaydet
 ADOTable1.Post;
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
 // aktif kaydı düzenleme moduna al
 ADOTable1.Edit;
end;
 
procedure TForm1.Button5Click(Sender: TObject);
begin
 // Aktif kaydı sil
 ADOTable1.Delete;
end;
 
procedure TForm1.Button6Click(Sender: TObject);
begin
 // kayıt aşamasındaki kaydı iptal et
 ADOTable1.Cancel;
end;
 
Formumuzu çalıştıralım
 



Saygılarımla
Ersun PEHLİVAN