arkadaşlar çok kolay bi soru olabilir kusura bakmayın uğraşmama rağmen yapamadım ben. firebird'de yeniyim daha önce paradox kullanmıştım.
ibdatasource ve ibquery kullanarak, sql komutlarıyla dbgrid'e tek satır değeri döndürdüm. bu dönen kayıdın bir sutun değerini nasıl dbedit' e aktarabilirim? bi bilgisi olan var mı acaba?
dbedit-firebird
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: dbedit-firebird
Tam açık bir soru değil ama diyelim ki,
İbQueryUye
Tablo Adı : Uye
Alanlar :
Adi,Soyadi,Id
Veri :
1 Ali Ak
2 Veli Kara
sql :
burada 1 numaralı id li kullanıcının adını almak istiyorsan
Db edit in Data Source sini db grid data soruce ile aynı yapıp,
db edit in DataField kısmını Adi yapman yeterli.
İbQueryUye
Tablo Adı : Uye
Alanlar :
Adi,Soyadi,Id
Veri :
1 Ali Ak
2 Veli Kara
sql :
Kod: Tümünü seç
select * from uye where id = 1
Db edit in Data Source sini db grid data soruce ile aynı yapıp,
db edit in DataField kısmını Adi yapman yeterli.
Ahmet DENİZ
-
- Üye
- Mesajlar: 20
- Kayıt: 08 Tem 2008 04:25
Re: dbedit-firebird
Dediğinizi denemiştim ama şöyle bişey var, ben combobox'tan seçtiğim bir string ' e göre sql çalıştırıyorum dediğiniz gibi dbedit'in datasource'nu, dbgrid in datasource'u ile aynı yapıp, datafield' ı seçmek istediğim zaman şöyle bir uyarı geliyor: ''empty SQL statement'' yani datafield'ı seçemiyorum
ne yapmalıyım?

Re: dbedit-firebird
s.a.
eğer oluşturduğunuz sql den dönen alan isimleri aynı ise yukarda bahsedilen işlemi yapmadan önce bir defalık sql i yazın querynin fields editörüne alanları ekleyin. DBEditi bağlayın sonra queryi ve alanları silebilirsiniz.
Eğer alan isimleri farklı geliyorsa geriye atama işini dinamik yapmak kalıyor.
onu yapmak içinde birden fazla yöntem var.
Eğer tüm sorgulardan tek kayıt dönecekse dbedit yerine normal edit kullanıp tablo open olduktan sonra
şeklinde bir atama ile halledebilirsiniz. Birden fazla satır dönmesi veya dbedit kullanmanın zorunlu olduğu durumlarda ise gene tabloyu open ettikten sonra
aslında ikinci işlemi yapmak için tabloyu open etmeye gerek de yok.
kolay gelsin.
eğer oluşturduğunuz sql den dönen alan isimleri aynı ise yukarda bahsedilen işlemi yapmadan önce bir defalık sql i yazın querynin fields editörüne alanları ekleyin. DBEditi bağlayın sonra queryi ve alanları silebilirsiniz.
Eğer alan isimleri farklı geliyorsa geriye atama işini dinamik yapmak kalıyor.
onu yapmak içinde birden fazla yöntem var.
Eğer tüm sorgulardan tek kayıt dönecekse dbedit yerine normal edit kullanıp tablo open olduktan sonra
Kod: Tümünü seç
editx.text:=query.fieldbyname('abc').asstring
Kod: Tümünü seç
dbeditx.datafield:=alanadı;
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim