Veri tabanında çalışan triger delphi de çalışmıyor (ÇÖZÜLDÜ)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Demitri

Veri tabanında çalışan triger delphi de çalışmıyor (ÇÖZÜLDÜ)

Mesaj gönderen Demitri »

Firebird de bir veritabanı oluşturdum
ve integer cinsinden bi alana AutoInc ozelliği verdim.
triger dan da
IF (NEW."NO" IS NULL) THEN
NEW."NO" = GEN_ID(GEN_HAREKET_ID,1);
komutu ile generator işini halletim
ancak benim sorunum vberitabanında otomatik arttırma başarılı iken
delphi de
Bu alan için boş diyip hata veriyor.
delphi de kayıt girişi esnasında bu triger çöalışmaz mı
yardımcı olursanız çok sevinirim. projeyi yarıda bıraktım.
bu işi kendi delphide farklı öntemlerle çözmek mümkün ama olan bi özelliği kulanamammk ve dünya kadar kod yazmak zoruma gidiyor.
herkese iyi çalışmalar. :roll:
En son Demitri tarafından 20 Nis 2006 02:07 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Demitri

Mesaj gönderen Demitri »

hadi ama kimse bilmiyor mu? 4GL filan bişelr dfduydum ama onun hakkında da hiç bi fikrim yok
poshet303
Üye
Mesajlar: 235
Kayıt: 26 Eki 2005 01:15

Mesaj gönderen poshet303 »

Merhaba;
Verdiğiniz bilgiler biraz yetersiz. Ondan cevap vermek zor olabilir. Bir triger ın delphide çalışması çalışmaması diye bir şey söz konusu olamaz çünkü triger in delphi ile alakası yok.

Sorun şu olabilir;
Eğer field editor ile field oluşturmuşsan "NO" alanının "Required" (RequiredField da olabilir emin değilim) özelliğini FALSE yap.

Sorun çözülmüyorsa daha ayrıntılı bilgi vermelisiniz.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Delphi tarafında ilgili alanın required özelliğini False yapın....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Demitri

Mesaj gönderen Demitri »

TEŞEKKÜRLER
LAZIM OLAN BİLGİYİ

viewtopic.php?t=9847&highlight=storedproc

BULDUM.
HERKESE IYI CAILMALAR.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Sorunun tespiti yanlış, tanımlanması eksik :!: Bir kere dediğiniz gibi olmaz. AutoInc alan değil herhangi bir integer alan olması gerekli. Ayrıca kullandığınız bileşen hangisi ise (IBx veya FIBPlus) uygun şekilde generator alanın atanması gerekir. Yani trigger le de uğraşmanıza gerek yok. IBX IBDataSet ve IBQuery için GeneratorField özelliğine, FIBPlus FIBDataSet için AutoUpdateOptions altından GeneratorName ın atanması ve diğer ayarların yapılması gerekiyor. Bundan sonra otomatik olarak generator e bağladığınız alan istediğiniz şekilde artarak atanacaktır :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Demitri

Mesaj gönderen Demitri »

rsimsek yazdı:Sorunun tespiti yanlış, tanımlanması eksik :!: Bir kere dediğiniz gibi olmaz. AutoInc alan değil herhangi bir integer alan olması gerekli. Ayrıca kullandığınız bileşen hangisi ise (IBx veya FIBPlus) uygun şekilde generator alanın atanması gerekir. Yani trigger le de uğraşmanıza gerek yok. IBX IBDataSet ve IBQuery için GeneratorField özelliğine, FIBPlus FIBDataSet için AutoUpdateOptions altından GeneratorName ın atanması ve diğer ayarların yapılması gerekiyor. Bundan sonra otomatik olarak generator e bağladığınız alan istediğiniz şekilde artarak atanacaktır :idea:
atamaları zaten yapmıştım. değer integer di ,generatörler ve trigerlar da tamam dı. sorun sadece delphi de triger çalışmaması idi. zira programlama dilinden bağımsız oolarak çalışıyordu. sonra triger yerine stredproc ları kulandım ve interbase bieşeninden stroedproc da oluşturduğum prosedurue link verdim. sorun çözülmüş oldu. önceki cevabımda verdiğim link sorunumu tamamen çözdü. yardımlarınız için teşekkür ederim.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kullandığın bağlantı bileşen setini yazmamış olmanla beraber yukarıda bahsettiğim ve senin de söylediğin şekilde sorunsuz çalışması lazım. OnNewRecord da mı yoksa BeforePost ta mı generatorün artırılacağını belirtmelisin. Belki de transaction olaylarından kaynaklanan bir sorun olabilir. Kısacası en basitinden çözmek varken işi uzatmak ileride sorun teşkil edebilir :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla