***null*** hatası alıyorum.

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

***null*** hatası alıyorum.

Mesaj gönderen kadirkurtoglu »

S.A. arkadaşlar vt firebird 1.5 tablonun ilk alanı ilişki alanı integer notnull PK olarak tanımlı bu alanla ilgili daha ilk kayıtta validation ***null*** hatası alıyorum. bu işi bi türlü çözemedim. yardımcı olursanız. sevinirim.
bağlantı delphi tarafında
IBQuery
IBTransaction
IBDataBase
IBUpdateSQL
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
Kullanıcı avatarı
ozkanagiral
Üye
Mesajlar: 79
Kayıt: 17 Oca 2004 06:23
Konum: istanbul
İletişim:

Mesaj gönderen ozkanagiral »

Selamün Aleyküm

viewtopic.php?t=3668&highlight=validati ... l%2A%2A%2A

sanırım cevabını bu linkte bulacaksın.
İyi Çalışmalar
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

kardeş teşşekkür ederim ancak o linki daha önce ziyaret etmiştim. benim aradığım değil. ben bu konuyu şu şekilde çözdüm
saolsun bir arkadaş yardımcı oldu.
FireBird otoinc oluşturuken Trigger değilde procedure yaparsanız sorun ortadan kalkıyor. benim sorunum alanda değer olmasına karşın değer ***null*** hatası alıyordum. bu mesele triggerle yapılırsadataset in her kayıtta yenilenmesi gerekiyor. close open komutlarıyla. ancak procedure kullanılırsa otoinc oluşturmada bu sorun ortadan kalkı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
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
ibdatasetin generator fields (yanlış hatırlamyorsam) diye bi özelliği vardı. ordan autoinc alanın ayarlarını yapabiliyor olmanız lazım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

merhaba o işlemleri yapıyorum. ben hatayı IBTransaction nun commitretaining komutundan sonra IBQuery1 in ApplyUpdates kodunu yazdığım için oluyormuş. sorunu 2. yazdığım kodu silerek çözdüm...
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
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Sanırım sorun biraz da olayın tam oturmamasından rastgele yöntemlerden kaynaklanıyor. CachedUpdates olayında tüm bilgiler belleğe yüklenerek bütün işlemler bellekteki bilgiler üzerinde yapılır ve ApplyUpdates veya CancelUpdates diyene kadar yapılan ekleme, güncelleme ve kayıt silmeler fiziksel diske etki ettirilmez. ApplyUpdates ile yapılan işlemler kalıcı hale getirilir. CancelUpdates ile iptal edilir. Fakat Transaction olayı buna benzese de biraz daha farklıdır. Başlayan bir transaction da yapılan işlemler + diskteki bilgiler bir bütün olarak görülür. Commit / CommitRetaining, Rollback/RollbackTraining diyene kadar diskteki veritabanı tablosunu etkilemez. Commit/CommitRetaining ile tabloya etki ettirilerek bellekteki/geçici tampon tablodaki bilgiler boşaltılır. Rollback/RollbackTraining ile de Transactionun başından itibaren yapılan tüm işlemler iptal edilip, bellekteki/geçici tampon tablodaki bilgiler boşaltılır :idea:

Birincisinde tüm bilgiler belleğe taşındığında hız yüksek olur fakat bilgiler arttıkça bellek daralacağından kullanışlı olmaz. Hatta tüm bilgiler diskteki tabloya yazılma durumunda program kırılırsa tüm bilgileri kaybetme durumu sözkonusu olabilir :? İkincisinde Transaction olayında veri güvenliği daha üst seviyelerdedir. Hatta programın kırılma durumunda mevcut transaction bilgilerine bile yazıldığı tampon bellekten ulaşılabilmektedir :?: En kötü ihtimalle son Transaction da yapılan işlemler kaybedilmiş yada iptal edilmiş olur :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

hocam izahatınızdan dolayı teşekkür ederim. bu konuda sıkıntı nın merkezi client-server mimari hakkında bilginin yetersiz oluşu, ben firebird e geçtiğimde daha başlangıç aşamasında iken bize şunu şöyle yap bunu böyle yap şeklinde telkinler geliyor. yaptığımız olayın nereyi etkilediğini yada daha açık konuşmak gerekirse mantığını anlamadan allaha emanet yapıyoruz. yukarıda bahsettiğiniz kavramlar ve etkilediği durumlar hakkında bilgi vermişsiniz. teşekkür ederim. keşke herkes sizin gibi açıklayıcı bilgi verebilse. saygılar...
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
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Client/Server mimaride vertitabanının çalıştığı bir veritabanı sunucusu (FireBird, InderBase, MS-SQL, Oracle, MySQL, PostgreSQL, vs..) bir de bu sunucudan istemde bulunan girilen bilgileri de bu sunucuya postalayan bir istemci arayüz-program var. Bu olayda ille de Server dediğimiz yapı ayrı bir bilgisayar olmak zorunda değil. Local PC'de de kurulmuş olabilir.. Olay kısaca bu şekilde.. :?:

Bahsettiğiniz ayrıntılı yardımlaşma olayında sanırım zaman ayıran tüm üye arkadaşlar sorular net ve ayrıntılı oldukça onlar da ayrıntılı cevaplamaya çalışıyordur :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

hocam anlatmak istediğim local vt ler ile server tabanlı vt ler arasında bariz farkların olduğu meselesiydi. ben daha önce paradox kullanıyordum, paradox ta transaction kullanımı zorunlu değildi ancak server tabanlı vt lerde bu bir zorunluluk durumu arzediyor. daha delphi ye ilk başladığım günlerde bu farkları anlatan makeleler okumuştum. yapı hakkında bilgi sahibi olmuştuk ancak uygulama safhasında tıkanmıştım. açıklamalarınız için teşekkür ederim. elinize sağlık.
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
Cevapla