datamodul ve query olayları

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

datamodul ve query olayları

Mesaj gönderen yusuf simsek »

herkese iyi günler ve iyi çalışmalar diliyorum.

Ben programımda datamodül kullanıyorum.veri tabanım dbase.

datamodul içinde queryler var ama ben querylerim olaylarını kullanamıyorum...(after post,before post vb.)

haliyle datamodulden form üzerinde bir edit nesnesini veya başka bir nesneyi gösterince olmuyor.(işlem yapıldığı zaman kayıt numarasını otomatik vermek için) dgbrid üzerinden kayıt işlemi yapınca da her seferinde kayıt numarasını yazması gerekiyor....

Dbgrid de olayların neredeyse tamamını denedim(cellclick,colenter,colexit vb ilgili olaylar) ama hücreyi terkederken kayıt numarasını eklemek yerine yazdığı kayıt bilgilerini de siliyor...

Esas öğrenmek istediğim datamodül içinde query olaylarını nasıl kullanabilirim...
(tabi grid olayıyla ilgili yardımcı olabilirseniz çok memnun olurum.)

Herkese şimdiden çok teşekkür ederim ve güzel bir hafta temenni ederim.
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

Merhaba;

Datamodulun Unit ini Kullandığın Formun Unit ine ekliyormusun mesela;

Kod: Tümünü seç

implementation
uses UDM;
gibi bu şekilde querylerine ulaşabilirsin..

Kod: Tümünü seç

Dm.IBQuery1
Dm.IBQuery1.Close
Dm.IBQuery1.Sql.Clear
tüm özelliklerine ulaşa bilirsin...
;)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
query lere bağladığın datasource bileşenlerinin ondatachange özelliklerini kullanabilirsin.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

selm@n hocam datamodul uniti formlarda var...

qureyleri form içimde kayıt ve sorgulama işlemleri için kullanabiliyorum...,
ama query özelliklerini kullanamıyorum...
datamodul unitine de form unitini eklemiştim...

kodu datamodul i.çinde yazıyorum..

aslangeri hocam datasource bileşenlerinin ondatachange özelliklerini naslı kullanacağım hakkında birkaç ipucu verebilirsen sevinirim...

çünki query ve datasource nin özelliklerin kullanmayı bilmiyorum :oops:

zaten query ve datasource nesnelerinin özellikleri hakkında bildiklerimi de formdan öğrendim...

Bu formun oluşmasında ve bu bağı kuran herkesten YÜCE MEVLA RAZI OLSUN
Eğer bu form olmasaydı ben ve benim gibi arkadaşların işi çok zordu...

Çünki görüşmeye çalıştığım birçok firma ya görüşmeyi kabul etmedi yada bilgileri sır gibi sakladı..O yüzden bende tek başıma delphiyle savaşma kararı aldım.Siz silah arkadaşlarımdan da yardımlarınızı esirgemediğiniz için milyonlarca kez teşekkür ederim.YÜCE MEVLA HEPİNİZDEN RAZI OLSUN
(bir dokun bin aahhh işit gibi oldu. :( )
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

datamodulün üzerindeki
query veya table nin olaylarına istediğin kodu yazarsan
harhangi bir unit de bu query veya table ile ilgili bir işlem yaptığında
datamodul de tanımladığın olaylar
otomatik olarak çalışacaktır..
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

Tekrar mrb..
1.Datasource nin ondatachange olayı kayıtta bi değişiklik olduğu zaman meydana gelir. field parametresinde değişen field bulunur.

Kod: Tümünü seç

 if field.name='fieldadi' then 
begin
  ...
   field.value:=....;
  ...
end; 
şeklinde işlem yapabilirsin.
diğer olayların kullanımını öğrenmek için aramayı kullanabilirsin.
2.Gridin olduğu formda kod ile query ulaşmak istesen önce datamodülün adını yazman lazım.

Kod: Tümünü seç

datamodule1.query1....
3.sanırım otomatik sayı numarası verdirmeye çalışıyorsun "otomatik artan" şeklinde :ara tırsan konu hakkında daha detaylı bilgiye kavuşabilirsin.
O yüzden bende tek başıma delphiyle savaşma kararı aldım
delphi ile savaşılmaz. delphi elimizdeki en güçlü silah (lardan biri) bu silahı nekadar iyi kullanırsanız o kadar iyi olursunuz. Silahın kullanım kilavuzu olarakda bu siteden ve http://www.delphiturkiye.com/dfo.zip den faydalanabilirsin.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

ASLANGERİ ve diğer tüm arkadaşlara teşekkür ederim...

yaptığım yanlış; form üzerinden bir alan kullanmak olmuş...

İlgili query nesnesinin before post olayına query alanlarını gösterince sorun çözüldü...

Kod: Tümünü seç

procedure Tdatamodul.vadeBeforePost(DataSet: TDataSet);
begin
if datamodul.vadeBANKA_NO.Value='' then
datamodul.vadeBANKA_NO.Value:=datamodul.bankalarBANKA_NO.Value;
end;
zaten almak istediğim edit nesnesindeki kayıt numarası, diğer query nesnesindeki aktif kaydın kayıt numarası...

herkese çok teşekkür ederim.

Ayrıca ben delphi ile değil kodlar ile savaş veriyorum...Onlar benden kaçmak için çabalıyor ama ben onları yakalamak ve sindirmek için uğraşıyorum...
Yoksa kanla bıçakla çok şükür işimiz olmaz :lol:
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Cevapla