merhabalar....
Firebird de
create domain DMN_BOOLEAN as SMALLINT default 0 not null
check ( value in (0,1));
şekilnde boolean type belirledim ve yaklaşık 65 tane alan type ini buna atadım....
checkbox ile kontrol ediyorum....
Yalnız alanlardan birini true yaptığımda(checkbox onclick olayı ile yani) diğerlerinin tamamıma da true (aynısı false için de oluyor) oluyor ve update ederken hata ile karşılaşıyorum.....
Nasıl bir çözüm önerirsiniz...
(domain) boolean type hatası
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
hata mesajı nedir... TDBCheckBox sınıfından bileşenler. data için true ve false değerlerini String olarak isterler. Default Değerler 'True' ve 'False' dir.. senin oluşturduğun domain smallint tam sayı bir değişken... true için 1 false için 0 değerlerini tanımladınmı..
Kod: Tümünü seç
DBCheckBox1.ValueChecked := '1';
DBCheckBox1.ValueUnchecked := '0';
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
-
- Üye
- Mesajlar: 135
- Kayıt: 14 Kas 2005 12:24
hocam tanımlama yapmamıştım.... Dediğin gibi string değer döndürüyor.. o kısmı atlamışız..... update hatası almıyorum şimdi....
... Yalnız ikinci bir sorun daha vardı.... yukraıda belirttim... domain i yaklaşık 65 tane alana atadım...
veritabanında (Alan1 (DMN_BOOLEAN) Alan2 (DMN_BOOLEAN) ... gibi)
DbCheckbox1.DataField := Alan1
DBCheckbox2.DataField := Alan2
Aslında amacım true ve false olarak kullanmak... Kullanıcıya DBCheckbox içerisinde gösteriyorum.....
ama DBCheckbox lardan herhangi birine tıkladığımda (OnClick olayı yani) diğerleri içinde aynı yordam (OnClick) çalışıyor.... Yani hepsi aynı anda true ya da false oluyor.... Atamayı kodla değil tasarım anında yaptığım için tüm dbcheckbox lara aynı yordamın çalışması beni şaşırttı...
Sorunu çöezemedim...
Firebird de domain atnımladığında bunu istediğin kadar alan için kullanamıyor musun yoksa.... Bu biraz mantıksız geliyor bana da....
ya da tanımlama domain tanımlarken bir hatamı yaptım acaba diyorum ama görünürde de bir hata yok....
... Yalnız ikinci bir sorun daha vardı.... yukraıda belirttim... domain i yaklaşık 65 tane alana atadım...
veritabanında (Alan1 (DMN_BOOLEAN) Alan2 (DMN_BOOLEAN) ... gibi)
DbCheckbox1.DataField := Alan1
DBCheckbox2.DataField := Alan2
Aslında amacım true ve false olarak kullanmak... Kullanıcıya DBCheckbox içerisinde gösteriyorum.....
ama DBCheckbox lardan herhangi birine tıkladığımda (OnClick olayı yani) diğerleri içinde aynı yordam (OnClick) çalışıyor.... Yani hepsi aynı anda true ya da false oluyor.... Atamayı kodla değil tasarım anında yaptığım için tüm dbcheckbox lara aynı yordamın çalışması beni şaşırttı...
Sorunu çöezemedim...
Firebird de domain atnımladığında bunu istediğin kadar alan için kullanamıyor musun yoksa.... Bu biraz mantıksız geliyor bana da....
ya da tanımlama domain tanımlarken bir hatamı yaptım acaba diyorum ama görünürde de bir hata yok....
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
DBCheckBox ları copy-paste yöntemi ile oluşturmuşsun.Yani hepsi aynı anda true ya da false oluyor.... Atamayı kodla değil tasarım anında yaptığım için tüm dbcheckbox lara aynı yordamın çalışması beni şaşırttı...
DBCheckBox1 hariç diğerlerinin tamamını seç ve Event kısmındaki OnClick yordamlarını temizle...
kısacası ve özü 1.DBCheckBox a event atadıktan sonra diğerlerini copy paste etmişsin.. dolayısla diğerlerinin click yordamı ilk event atadığın yordamda çalışıyor...
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome