ibdataset bu işe uygun mu?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

ibdataset bu işe uygun mu?

Mesaj gönderen nitro »

s.a.
programımda bir fatura giriş ekranı var.
bu fatura giriş ekranında faturanın her satırını tutan ve giriş,değiştirme,silme gibi işlemelri yapan bir dbgrid koymak istiyorum.
bu dbgrid'i bir table'a bağlayamam çünkü o zaman diğer faturalara ait satırları da göstericek. o nedenle ibdataset kullanayım dedim. ibdataset'i yeni tanıyorum. bu arada bir not düşeyim: ibdataset'e computed fieldler atamayın, çünkü o zaman dataset'i readonly yapıyor.
dbgridde stokno, miktar ve birim fiyat var.
ama bu tabloda girişi dbgridden yapılmayacak olan fieldler var.
örneğin cari adı. cari adı yukarıda belirlenmiştir. ve öyle bişey yapmalıyım ki. dataset tüm yeni kayıtlar için dbgrid'in üstündeki label'da yazılı olan cariismini almalı. faturano olarak tüm yeni kayıtlar yukarıdaki labelda olan faturanumarasını almalı. nasıl olur?
çok şey mi istiyorum?
durum karışık biraz galiba ama umarım anlatabilmişimdir?
yardımlarınız için şimdiden teşekkürler.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

ibdatasetin selectsql ine joinli karısık ifadeler yazabilirsin
sıradan bir queryden bekledigin herseyi yapabilirsin
update ,insert ve delete edecegin alanları secerek bu üc sql i olustrudugun zaman kullanmayacagın alanlar sadece goruntude olacak

Ben bu sekilde kullanıyorum mesela senin verdigin ornek uzerinde acıklayayım

Cariye yapılan/alınan odemeleri girdigin bir hareket ekranı olsun
bu hareket tablosu (ismi odeme olsun)
id Integer
car_id Integer
miktar Numeric(15,2)

alanlarından olussun

cari tablon da
id Integer
cari_id Integer
cari_adi Varchar(50)

seklinde olsun en basit anlamıyla

Datasetin SelectSQL i
select o.id,o.cari_id, c.cari_adi,o.miktar from odeme o
inner join cari c on c.id=o.cari_id

seklinde olsun
update edilecek alanlarda id,cari_id,miktar alanlarını seciyorsun
ve generate sql diyorsun

gride alanları ekle ve kayıt girisinde kullan
simdi burada Lookup alan olsa idi dbgridden cariyi sececek sekilde kullanırdın
ama burda ben soyle bir sey yaptım:
*cari ismini girerek arama yapabilecegim ve listeden birini secip enter a basınca o carinin id sini donduren bir form olusturdum
ibdatasete ekledigim alanlardan cari_adi alanının onsettext olayında da bu formu cagırdım. gayet guzel calısıyor.
ÜŞENME,ERTELEME,VAZGEÇME
Cevapla