dbedit-firebird

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
aayylliinn
Üye
Mesajlar: 20
Kayıt: 08 Tem 2008 04:25

dbedit-firebird

Mesaj gönderen aayylliinn »

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?
AhmetNuri
Üye
Mesajlar: 262
Kayıt: 02 Tem 2007 07:55
Konum: ist
İletişim:

Re: dbedit-firebird

Mesaj gönderen AhmetNuri »

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 :

Kod: Tümünü seç

select * from uye where id = 1
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.
Ahmet DENİZ
aayylliinn
Üye
Mesajlar: 20
Kayıt: 08 Tem 2008 04:25

Re: dbedit-firebird

Mesaj gönderen aayylliinn »

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?
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: dbedit-firebird

Mesaj gönderen aslangeri »

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

Kod: Tümünü seç

editx.text:=query.fieldbyname('abc').asstring
ş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

Kod: Tümünü seç

dbeditx.datafield:=alanadı;
aslında ikinci işlemi yapmak için tabloyu open etmeye gerek de yok.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla