|
İşlem formu elemanlarını kullanarak, bir sayfa oluşturacağız. Amacımız; productdb veritabanında bulunan ürünleri sayfada listelemek, ürünlerin güncellenebilmesini ve silinebilmesini sağlamaktır.
Sağlanacak işlevler:
Kullanıcılar, kayıtları sayfa üzerinde değiştirebilir ve "Güncelle" komut düğmesine basabilirler. Bunun üzerine; girdi alanları doğrulanacak ve değişen kayıtlar veritabanında güncellenecektir. Ek olarak bir e-posta alıcısı; örneğin sistem yöneticisi, e-posta ile bu değişiklikten haberdar edilecektir.
Kullanıcı, silmek istediği kayıtların seçim kutularını işaretleyebilir ve "Sil" komut düğmesine basabilir.
İlk işlevi gerçekleştirmek için, RelDBUpdateProcess ve SendTextMailProcess elemanlarını kullanacağız ve bunları "Güncelle" adlı komut işletim elemanına bağlayacağız.
Seçilen kayıtları silmek için ise sadece RelDBUpdateProcess elemanını kullanıp, "Sil" adlı komut işletim elemanına bağlayacağız.
| • | productdb bir MS SQL veritabanıdır ve; jdbc:jtdc:sqlserver://localhost:1433/productdb URL' i üzerinden hizmet vermektedir. |
| • | products tablosu ürün kayıtlarını içermektedir. |
| • | products tablosu ID, Name, Price, Stock ve Discounted adlı alanları içermektedir. |
| • | "CTRL + F7" kısayolu ile "Genel Tanımlar" sayfasını açın. |
| • | Kütüphaneden mor > RelDB > RelDBConnection elemanını alın, sayfaya yerleştirin ve özelliklerini şöyle belirleyin: |
Ad
|
PRODUCT_DB
|
JDBC Sürücüsü
|
net.sourceforge.jtds.jdbc.Driver
|
Veritabanı URL'i
|
jdbc:jtdc:sqlserver://localhost:1433/productdb
|
Kullanıcı Adı
|
??
|
Parola
|
??
|
| • | Kütüphaneden mor > ReDB > RelDBQueryDataSource elemanını alın, sayfaya yerleştirin ve özelliklerini şöyle berlirleyin: |
Eleman Adı
|
allproducts
|
Bağlantı Adı
|
PRODUCT_DB
|
Sorgu (SQL)
|
SELECT * FROM products
|
Yapacağımız işlemler tamamlanınca, "Update" sayfamızın görüntüsü aşağıdaki gibi olacaktır:
Sayfa Tasarım Alanı Görünümü:

Proje Kaşifi Görünümü:

| • | "Update" adı ile yeni bir sayfa oluşturun. |
| • | "ProcessForm" Elemanını sayfaya yerleştirip, adına "UpdateForm" verin. |
| • | "ProcessForm > ProcessBlock" elemanını "UpdateForm" içine yerleştirip adına "UpdateBlock" verin. |
| • | "UpdateBlock" un, Tekrarlama | Her Bir .. İçin özelliğine "/allproducts/item" verin. |
| • | "ProcessForm > ProcessBlock > SelectionBox" elemanını "UpdateBlock" içine yerleştirin. |
| • | Üç adet "ProcessForm > ProcessBlock > EditBox" elemanını "UpdateBlock" içine yerleştirip, adlarına "Name", "Price" ve "Stock" verin. |
| • | "ProcessForm > ProcessBlock > CheckBox" elemanını "UpdateBlock" içine yerleştirip, adına "Discounted" verin. |
| • | "ProcessForm > ProcessBlock > HiddenBox" elemanını "UpdateBlock" içine yerleştirip, adına "ID" verin. |
| • | "mor > RelDB > RelDBUpdateProcess" elemanını "UpdateBlock" içine yerleştirin ve "ProcessUpdateRecord" adını verin. |
| • | "ProcessUpdateRecord" elemanının özelliklerini aşağıdaki gibi belirleyin: |
Bağlantı Adı
|
PRODUCT_DB
|
Güncelleme Sorgusu (SQL)
|
UPDATE products SET
Name = '@vof(Name)',
Price = @vof(Price),
Stock = @vof(Stock),
Discounted = @vof(Discounted)
WHERE ID = @vof(ID)
|
| • | "mor > Mailer > SMTPAccount" elemanını "Genel Tanımlar" sayfasına ekleyin. |
| • | SMTPAccount elemanının SMTP Hesabı özelliklerini belirleyin. |
| • | "TextMailProcess" elemanını "UpdateBlock" içine yerleştirip, adına "ProcessSendMail" verin. |
| • | "ProcessSendMail" elemanının özelliklerini aşağıdaki gibi belirleyin: |
Posta | Kime
|
admin@mydomain.com
|
Posta | Konu
|
Kayıt @vof(ID) güncellendi
|
Posta | Mesaj
|
Kaydın yeni değerleri:
Adı : @vof(Name)
Fiyat : @vof(Price)
Stok : @vof(Stock)
İndirim : @vof(Discounted)
|
| • | "ProcessForm > ExecuteCommand" elemanını "UpdateForm" içine yerleştiriniz. Adına; "CommandUpdateRecord" verin. |
| • | Değer özelliğine "Güncelle" verin. |
| • | İşlem Listesi özelliğine odaklanıp, editörden "ProcessUpdateRecord" and "ProcessSendMail" işlemlerini ekleyin. |

| • | Sonraki Sayfa özelliği için "\index" sayfasını seçin. |
| • | Hata Sayfasından Sonraki Sayfa özelliği için "\Update" sayfasını seçin. |
| • | "mor > RelDB > RelDBUpdateProcess" elemanını "UpdateBlock" içine yerleştirip, adına "ProcessDeleteRecord" verin. |
| • | "ProcessDeleteRecord" elemanının özelliklerini aşağıdaki gibi belirleyin: |
Referans Verikaynağı
|
allproducts
|
Güncelleme Sorgusu (SQL)
|
DELETE FROM products WHERE ID = @vof(ID)
|
| • | "ProcessForm > ExecuteCommand" elemanını "UpdateForm" içine yerleştirip, adına "CommandDeleteRecord" verin. |
| • | Değer özelliğine "Sil" verin. |
| • | İşlem Listesi özelliğine odaklanıp, editörden "ProcessDeleteRecord" işlemini ekleyiniz. |
| • | Sonraki Sayfa özelliğinde "\index" sayfasını seçin. |
| • | Hata Sayfasından Sonraki Sayfa özelliğinde "\Update" sayfasını seçin. |
Adımlarımızı tamamladık. Eğer MS SQL veritabanınız da hazır ise; projenizi derleyip test edebilirsiniz.
"Update" sayfasının tarayıcıdaki görüntüsü, aşağıdakine benzer olacaktır.

|