ADOStoredProc ile DBGrid bağlantısı hk.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vipaydin
Üye
Mesajlar: 82
Kayıt: 23 Ara 2004 04:52

ADOStoredProc ile DBGrid bağlantısı hk.

Mesaj gönderen vipaydin »

Merhabalar.
SQL Server 2000 kullanıyorum.
Programda DBGrid içerisine ADOStoredProc kullanarak istediğim gibi bir liste atayabiliyorum.
Yalnız veritabanından gelen tabloda alan sayısı çok.
Bunlardan DBGrid içerisine sadece 3 tanesini alıyorum.
Gelen 3 adet alan haricinde de 5 veya 10 alanı ise DBGrid altına yerleştirdiğim MaskEdit'lerin içine atmak istiyorum.
MaskEdit lerin içine DBGrid'teki ilk alanın bilgileri geliyor. Burada sorun yok.
Benim istediğim ise yön ok tuşları ile dbgrid içerisinde gezinildiğinde aktif olan satırın bilgilerinin de Mask Edit içlerinde otomatik olarak değişmesi.
Bunu nasıl bir kodla yapabilirim acaba?
İyi çalışmalar.
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 »

gridde gezindiğinde aynı her satırda o record komple okunur. ve istediğin değeri yakalarsın

mesela aç dbgridin keydown keyup onmousedown gibi eventlerini içine yaz

atıyorum;

maskedit1.text:=adobilmemne.fieldbyname('alanin').asstring;

yaz. sonucu göreceksin


Saygılar
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
vipaydin
Üye
Mesajlar: 82
Kayıt: 23 Ara 2004 04:52

Mesaj gönderen vipaydin »

Sizin dediğiniz gibi deniyorum ama olmuyor.
Sadece Keypress, Keydown gibi eventler değil çoğunda denedim hiç birinde olmuyor.

Kod: Tümünü seç

CREATE PROCEDURE INV_AES_TERMINAL
@REF int,
@NO Smallint OUTPUT,
@KODU Varchar(20) OUTPUT,
@ADI Varchar (25) OUTPUT
AS
SELECT
@NO=NUMBER,
@KODU=CODE,
@ADI=NAME
FROM AES_TERMINAL WHERE REFREF=@REF
GO
program içerisinde ise;

Kod: Tümünü seç

ADOStoredProc1.Parameters.ParamValues['@REF']:=DBGrid1.SelectedField.Text;
ADOStoredProc1.ExecProc;
MaskEdit1.Text:=ADOStoredProc1.Parameters.ParamValues['@NO'];
MaskEdit2.Text:=ADOStoredProc1.Parameters.ParamValues['@KODU'];
MaskEdit3.Text:=ADOStoredProc1.Parameters.ParamValues['@ADI'];
Bu bölümü OnShow'a yazarsam ilk kayıtı okumasında sorun yok.
Ama yön ok tuşları ile DBGrid içerisinde gezintiğim zaman MaskEdit'lerin içini güncellemiyor.
Yukarıdaki kodları birçok event'in içinde denedim.
Acaba nerede hata yapıyorum?
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

dbgridin bağlı olduğu datasource bileşeninin ondatachange olayına yazın. keypress, keydown gibi olaylardan çok daha sağlıklı olacaktır.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla