Merhabalar,
Başlığı görünce Allah Allah dediyseniz öncelikle beklentiyi düşüreyim 🙂
ISIM-SOYISIM-ŞEHİR-DOĞUM TARİHİ kayıt edeceğiz ve bunu tabloda göstereceğiz. Dialog ekranında kullanılan tabloya sanal tablo ismi veriliyor buarada.
İstanbul’da bizim simit dediğimize erp ciler gevrek diyor işte.
Bir önceki yazımızdan ( https://erolakgul.wordpress.com/2016/12/05/troia-tablo-olusturmakaydetme/ ) tablo nasıl oluşturulur u okuduysak bu kısımdan devam edebiliriz hızlı bir şekilde.
Hala aynı dialog ekranında devam ediyorum,bu sefer ki tasarımı bu şekilde kısaltmaları biliyorsanız c sharp tan yukarıda ne var anlatmama gerek yok sanırım.
şöyle ki -> txt textbox / cmb combobox / day -> textboxt (tarih type lı) / tbl table
tabloya kolon ekleme bu kısımdan yapılıyor. Tablo seçili iken tıklayıp açılan dialog ta kolonları oluşturuyorsunuz.
dialog ekranı açılmadan önce olmasını istediğim şeyleri before komutu altına yazıyoruz.İlk satırda açılır açılmaz tabloyu doldur diyorum. Csharp taki form load olayı gibi.
butonun clicked olayına da yukarıdaki kodları açıklamalarıyla birlikte yazdım.
test ortamındaki görüntüsü,ilk günlerde oluşturduğumuz haktrail dialoğundan devam ediyoruz. Son olarak Kaydet butonuna bastıktan sonra da ;
eklemek istediğimiz veriyi kaydetmiş oluyoruz. Oracle a da bir gidelim ;
Veritabanına da eklendiğini görüyoruz.
İyi çalışmalar….
KOD BLOKLARI İÇİN ;
before olayı ----------------------------------------------------- /* açılır açılmaz tablo dolsun */ SELECT ID,NAME,SURNAME,CITY,BIRTHDAY FROM HAKTRIALTB ORDER BY ID INTO HAKTRIALTBL; /* tablo genişlikleri ayarlansın. */ SETCOLWIDTH HAKTRIALTBL_ID TO 40; SETCOLWIDTH HAKTRIALTBL_NAME TO 75; SETCOLWIDTH HAKTRIALTBL_SURNAME TO 75; SETCOLWIDTH HAKTRIALTBL_CITY TO 85; SETCOLWIDTH HAKTRIALTBL_BIRTHDAY TO 125; ---------------------------------------------------- buton clicked olayı GLOBAL: INTEGER IDcount, STRING txtname, STRING txtsurname,STRING cmbcity,STRING txtbirthday; /* sanal tabloya veri attıktan sonra kaç veri varsa integer olarak geri döner. */ IDcount = HAKTRIALTBL_ROWCOUNT; IDcount=IDcount+1; /* sanal tabloya bir kayıt satırı daha açıp işlem yaptıracağız.*/ APPEND ROW TO HAKTRIALTBL; /* dialog ekranındaki componentlerin içindeki verileri oracledaki tabloların kolonlarına eşitliyoruz*/ MOVE IDcount TO HAKTRIALTBL_ID; MOVE TXTNAME TO HAKTRIALTBL_NAME; MOVE TXTSURNAME TO HAKTRIALTBL_SURNAME; SWITCH CMBCITY /* combobox ın value değeri bu şekilde alınıp db ye basılıyor */ CASE 0: MOVE 'ISTANBUL' TO HAKTRIALTBL_CITY; CASE 1: MOVE 'IZMIR' TO HAKTRIALTBL_CITY; CASE 2: MOVE 'ANKARA' TO HAKTRIALTBL_CITY; DEFAULT: MOVE 'TURKİYE' TO HAKTRIALTBL_CITY; ENDSWITCH; MOVE TXTBIRTHDAY TO HAKTRIALTBL_BIRTHDAY; /* yukarıdaki değişiklikleri db ye uygulatıyoruz,yani bir nevi entity deki context.Save() metodu gibi*/ BEGINTRAN; INSERT INTO HAKTRIALTBL; IF SYS_STATUS THEN MESSAGE BAS E2000 WITH 'KAYDEDİLEMEDİ.'; ROLLBACKTRAN; RETURN 0; ENDIF; COMMITTRAN; TXTNAME=''; TXTSURNAME=''; /* cliked olayından sonra ekranı bir yeniletiyoruz */ SELECT ID,NAME,SURNAME,CITY,BIRTHDAY FROM HAKTRIALTB ORDER BY ID INTO HAKTRIALTBL; ------------------------------------------------
Anlatımınız çok güzel lütfen yayınlarınıza devam edin . Alkışlıyorum sadece…
BeğenBeğen
Teşekkür ederim Miray Hanım,yardımcı olabildiyse yazılar memnun olurum..
BeğenBeğen
çok güzel bilgi verici bir makale olmuş çok teşekkür ederim
BeğenLiked by 1 kişi