Primary key post problemi
Primary key post problemi
Merhabalar,
Firebird de trigger ve genarator kullanarak otomatik artan bir ID oluşturdum. Bu ID numarasınına NOT NULL ve primary key özelliği verip delphide post ettiğimde bu alanın null olamayacağı ile ilgili bir hata mesajı alıyorum. NOT NULL ve primary key özelliklerini kaldırdığımda da girmiş olduğum kayıtlar sıralanmıyor. Bu problemi NOT NULL ve primary key özelliklerini kaldırmadan nasıl hallederim. Yardımlarınız için şimdiden teşekkür ederim.
Firebird de trigger ve genarator kullanarak otomatik artan bir ID oluşturdum. Bu ID numarasınına NOT NULL ve primary key özelliği verip delphide post ettiğimde bu alanın null olamayacağı ile ilgili bir hata mesajı alıyorum. NOT NULL ve primary key özelliklerini kaldırdığımda da girmiş olduğum kayıtlar sıralanmıyor. Bu problemi NOT NULL ve primary key özelliklerini kaldırmadan nasıl hallederim. Yardımlarınız için şimdiden teşekkür ederim.
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
merhabalar. primary key'in not null yani boş geçilemez özelliği vardır. özelliği de burdadır zaten amaç bi benzerinin olmasının ortadan kaldırmaktır. autoinc olarak belirlediğiniz alanı delphi de eğer ibx kullanıyorsanız. IBDataset bileşeninin Generator özelliğini ayarlamanız gerekmektedir. bu ayarları yaparsanız sorununuz çözülecektir...
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: 163
- Kayıt: 06 Nis 2006 12:22
Sayın ifthen,
Eğer IBX bileşenlerini kullanıyorsanız, IBDataSet'in GeneratorField özelliği var onu ayarladığınızda post ettiğiniz kaydın generator'la üretilen kayıtlarını alabiliyor ve veri bilinçli bileşenler üzerinde gösterebiliyorsunuz.
IBDataSet bileşenini seçtikten sonra Object Inspector'dan GeneratorField özelliğine tıklayınız. Çıkan özellik editöründen Generator yazan kısımda ilgili Generator'u seçiniz. Onun altındaki Field kısmında bu Generator'un bağlı olduğu alanı seçiniz. Daha sonra Apply Event kısmından da OnPost'u seçiniz. (On New Record'u ya da OnServer'ı seçmeyiniz. Çünkü On New Record dediğinizde, her yeni kayıt girmeye çalıştığınızda yeni bir değer üretiyor ve dolayısıyla sıra numarası alıp başını gidiyor. OnServer derseniz de sanki ayar yapmamış gibi oluyorsunuz.)
Benimkinin sürümü IBX 5,04. Diğerlerinde nasıldır bilmiyorum. Ancak tahminimce benzer özellikler olmalı.
Saygılar ve Başarılar
Eğer IBX bileşenlerini kullanıyorsanız, IBDataSet'in GeneratorField özelliği var onu ayarladığınızda post ettiğiniz kaydın generator'la üretilen kayıtlarını alabiliyor ve veri bilinçli bileşenler üzerinde gösterebiliyorsunuz.
IBDataSet bileşenini seçtikten sonra Object Inspector'dan GeneratorField özelliğine tıklayınız. Çıkan özellik editöründen Generator yazan kısımda ilgili Generator'u seçiniz. Onun altındaki Field kısmında bu Generator'un bağlı olduğu alanı seçiniz. Daha sonra Apply Event kısmından da OnPost'u seçiniz. (On New Record'u ya da OnServer'ı seçmeyiniz. Çünkü On New Record dediğinizde, her yeni kayıt girmeye çalıştığınızda yeni bir değer üretiyor ve dolayısıyla sıra numarası alıp başını gidiyor. OnServer derseniz de sanki ayar yapmamış gibi oluyorsunuz.)
Benimkinin sürümü IBX 5,04. Diğerlerinde nasıldır bilmiyorum. Ancak tahminimce benzer özellikler olmalı.
Saygılar ve Başarılar
Post problemini makale ve ipucu kısmında anlatıldığı şekilde hallettim. Yanlız bu defada sıralama yapımıyor. Benim tablomda otomatik artan alanım VardiyaNO. Aynı zamanda bu alan için index de ayarladım. Yeni bir kayıt eklediğimde ve tabloyu kapatıp açtığımda girmiş olduğum son kayıt tablodaki kayıtların ortasına kayıyor.
Örneğin
VardiyaNO
11
14
13
15
Yani artan sıralama yapmıyor. Bu konuda yardımcı olan arkadaşlara şimdiden teşşekkür ederim.
Örneğin
VardiyaNO
11
14
13
15
Yani artan sıralama yapmıyor. Bu konuda yardımcı olan arkadaşlara şimdiden teşşekkür ederim.
-
- Üye
- Mesajlar: 163
- Kayıt: 06 Nis 2006 12:22
Sanırım SQL ifadesine "Order by VardiyaNO" eklenmesi lazım. Ancak tabi ki VardiyaNO indeksli olmalı.ifthen yazdı:Post problemini makale ve ipucu kısmında anlatıldığı şekilde hallettim. Yanlız bu defada sıralama yapımıyor. Benim tablomda otomatik artan alanım VardiyaNO. Aynı zamanda bu alan için index de ayarladım. Yeni bir kayıt eklediğimde ve tabloyu kapatıp açtığımda girmiş olduğum son kayıt tablodaki kayıtların ortasına kayıyor.
Örneğin
VardiyaNO
11
14
13
15
Yani artan sıralama yapmıyor. Bu konuda yardımcı olan arkadaşlara şimdiden teşşekkür ederim.
Başarılar