Çalışma anında Database hareketini görebilmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Yasemin Congar
Üye
Mesajlar: 3
Kayıt: 08 Kas 2003 10:52
Konum: İstanbul & Washington

Çalışma anında Database hareketini görebilmek

Mesaj gönderen Yasemin Congar »

Merhabalar

Uzun zamandır Forum'unuzdan uzak kaldım.Hepinize selamlar.

Sizlere şunu sormak istiyorum.
Programı çalıştırdıktan sonra Database bazı kayıtlar giriyorum.Girdiğim kayıtlar belli bir Algoritmayı yakaladığı zaman başka bir işlem yaptırmak istiyorum.

Fakat Databese deki hareketi program algılamadığı için Algoritmam devreye girmiyor.Ancak Programı kapatıp açınca devreye giriyor.

Tasarım anında Refresh - Close - Open metodlarını deniyorum fakat Runtime olmuyor.

Bu konuda ilginizi bekliyorum
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Merhaba,

Kullandığınız Database nedir?

Hareketleri algılamak derken nasıl bir şey kastediyorsunuz. Ben yazdığım programlarda hareketleri ayrı bir tabloda tutuyorum ve oradan takip ediyorum herhangi bir değişiklik ekleme silme vesaire işlemleri oluşturmuş olduğum algoritma ile hareket tablosunu güncelliyorum.

Ayrıca bir kaydın değişip değişmediğini dataset in ne durumda olduğunu karşılaştırarak anlayabilirsiniz.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
DotCom
Kıdemli Üye
Mesajlar: 1696
Kayıt: 11 Tem 2003 10:30
Konum: İzmir
İletişim:

Mesaj gönderen DotCom »

Merhabalar @Yasemin Hnm. aramıza tekrar hoşgeldiniz.

Sorununuza Gelince ;

Hüseyin abininde dediği gibi , Dataset in yani Datasource`un onchange olayında tüm yapılan değişiklikleri yakalayabilirsiniz.

Tabiki kullandıgınız veri tabanınıda bu işlemlerde büyük rolü var. Bizi biraz daha tam olarak ne yapmak istediğiniz konusunda ve veri tabanınız hakkında bilgilendirirseniz. daha ayrıntılı olarak yardımcı olabileceğimize eminim.

Kolay Gelsin
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

veritabanı eğer trigger destekliyorsa en güzeli bu tip işleri trigger ile yapmak. Veritabanı ve yapmak istediğiniz işi biraz daha detaylı yazarsanız, daha çok yardımcı olabiliriz.

Kolay gelsin.
FrontPage
Üye
Mesajlar: 25
Kayıt: 08 Mar 2004 10:29
İletişim:

Mesaj gönderen FrontPage »

Nerhabalar,
Aramıza hoşgeldiniz..

muhtemelen veritabanına bde ile bağlanıyorsun. Ve bde sürümün veritabanına otomatik commit yapamıyor yada dataset i refresh yapamıyor. Bunun veritabanına bağlantı yöntemini değiştirmelisin.
BDE hem biraz daha yavaş hemde bir çok olayda (şu an sizin söylediğiniz gibi) aksaklıklar çıkabiliyor. ADO ile bağlanmayı deneyiniz. Program kapatıp açtıktan sonra değişikliklerin aktif olma olayını bu şekilde rahatlıkla aşabilirsiniz.

Değişiklikleri algılamaktan tam olarak neyi kastettiğinizi anlamadım Ama Anladığım kadarı ile mustafa abinin dediği gibi veritabanın trigger destekliyorsa işin çok kolay. Ama desteklemiyorsa o zaman programdan datasource in onchange olayında yakalayabilirsin. Bunun için help e bakabilirsin.

Aramıza Tekrar Hoşgeldin..
Saygılar.
Yasemin Congar
Üye
Mesajlar: 3
Kayıt: 08 Kas 2003 10:52
Konum: İstanbul & Washington

Mesaj gönderen Yasemin Congar »

FrontPage yazdı: muhtemelen veritabanına bde ile bağlanıyorsun. Ve bde sürümün veritabanına otomatik commit yapamıyor yada dataset i refresh yapamıyor. Bunun veritabanına bağlantı yöntemini değiştirmelisin.
BDE hem biraz daha yavaş hemde bir çok olayda (şu an sizin söylediğiniz gibi) aksaklıklar çıkabiliyor. ADO ile bağlanmayı deneyiniz. Program kapatıp açtıktan sonra değişikliklerin aktif olma olayını bu şekilde rahatlıkla aşabilirsiniz.
Ado ile daha önce SQL de bunu refresh ile kolaylıkla yapıyordum.
Fakat Paradox veritabanında yapamadım.

Yukarda bahsettiğiniz Paradox veritabanınamı ADO ile bağlanacağım?
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

Merhabalar,

Sanırım sorununuzu anladım... Frontpage'in de dediği gibi ado yu kullanmak bir çözüm olabilmekle beraber şöyle bir açıklama da yapabilirim:

Paradox tablolarda yaptığınız işlemler kayıtlar felan hemen veritabanına kayıt olmaz. Kapattığınızda otomatik kaydolur ve adoda da örnek verirsek batchoptimized deki gibi durum ortaya çıkar... Yani siz ado da table1.updatebatch demedikçe veriler kaydolmaz. Bunun gibide paradox ta yaptığınız işlemleri update etmeniz gerekiyor.

(Kafam karıştı ya ado da batch modunda da olsa runtime da yapılan kayıtlar yine görülüyo yani değişimler...)
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

http://www.delphiturkiye.com/ipdb.htm#p ... ilgi_kayit

Bu işlemi yaparsanız veriler anında paradox'a kaydolur. Hem bozulmaları minimum'a indirirsiniz, hem de Refresh yaparak verileri kullanabilirsiniz.

Kolay gelsin.
Cevapla