Fibplus Mı IBX.... MI neden ?

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ı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Fibplus Mı IBX.... MI neden ?

Mesaj gönderen spoke25 »

Selamun Aleykum..

Forumda bazı Üstadların Yazdıklarını Okudum Bu konuda kendim bizzat denemiş biri olarak İbx ten fibplusa gectikten sonra başıma gelen bazı şeyler konusunda sizlerden bilgi almak istedim..

Olay Şu Fatura detaylarında ürünü iki turlu çağırıyorum..
Birincisi ürün koduna veri tipi integer.
ikinci si barkod veritipi varchar.
Buraya kadar herlşey normal değilmi ? Evet ibxte iken oyleidi yanii ürün kodu girmişsem ürünüe ait bilghileri satıra dolduruyor barkod girmişsem yine dolduruyordu
Bilin bakalım ne oldu Bir arkadaşın tavsiyesi üzerine fibplus 6.3 kurdum

ürün koduna göre buyavrum bi güzel cağırıyor ürün bilgilerini fakat barkoda göre ne yaptıysam getiirdemedim.

Barkod uniqui İndexe sahip bir alandır. İndex tanımladım fakat bununla ilgili delphi tarafında bir tanımlama yapmadım sanırım bu indexleri zaten kullanması gerekiyor firebirdün. Evet Durum ilginç değilmii
Şimdi Neden Fibplus kullnamak avatajlı?
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
ben ibx kullanıyorum. ama fbx in varchar bir alan üzerinden bir arama yapmıyacağına ihtimal vermiyorum.
müneccimlik yapmamızı istemiyorsan çağırdın kodları gönderde bi bakalı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ı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

Kod: Tümünü seç

as
DECLARE VARIABLE BIRIM_FIYAT NUMERIC(10,2);
DECLARE VARIABLE KDV_BIRIM_FIYAT NUMERIC(10,2);
DECLARE VARIABLE BIRIM VARCHAR(10) CHARACTER SET WIN1254;
DECLARE VARIABLE KDV_ORAN FLOAT;
DECLARE VARIABLE DEPO_NO INTEGER;
DECLARE VARIABLE ISLEM_TAR DATE;
DECLARE VARIABLE malidnm INTEGER;
DECLARE VARIABLE CARI_KOD INTEGER;
Declare variable islem_tur integer;
declare variable islem_tip smallint;
declare variable barkod varchar(13);
declare variable urunkod integer ;
begin
  IF (NEW.GELEN_FATURA_URUN_KOD IS NULL) THEN
    NEW.GELEN_FATURA_URUN_KOD = GEN_ID(GEN_GELENFATURA_URUN_ID,1);
if (new.urun_kod is not null ) then
begin
  select u.urun_kod, U.birim_fiyat,u.kdvbirim_fiyat,U.birim,U.kdv,u.urun_barkod,g.mali_donem,G.islem_tar,G.depo,G.cari_kod,g.islem_tur_kod,g.islem_tip
  from uruntbl U,  gelenfatura G
  where (u.urun_kod=New.urun_kod) And (gelenfatura_kod=new.gelen_fatura_kod)
  into :urunkod,:birim_fiyat,:kdv_birim_fiyat,:birim,:kdv_oran,:barkod,:malidnm,:islem_tar,:depo_no,:cari_kod, :islem_tur,:islem_tip;
  if (:urunkod is not null ) then
  begin
   new.urun_kod=:urunkod;
   new.birim_fiyat=:birim_fiyat;
   new.kdvli_birim_fiy=:kdv_birim_fiyat;
   new.birimi=:birim;
   new.kdv_oran=:kdv_oran;
   new.barkod=:barkod;
   new.islem_tar=:islem_tar;
   new.mali_dnm=:malidnm;
   new.depo=:depo_no;
   new.cari_kod=:cari_kod;
   new.islem_tur=:islem_tur;
   new.belge_tip=:islem_tip;
  end
  else
  begin
    exception  olmayan;
  end
end
if (new.barkod is not null ) then
begin
  select u.urun_kod, U.birim_fiyat,u.kdvbirim_fiyat,U.birim,U.kdv,u.urun_barkod,g.mali_donem,G.islem_tar,G.depo,G.cari_kod,g.islem_tur_kod,g.islem_tip
  from uruntbl U,  gelenfatura G
  where (u.urun_barkod=New.barkod) And (gelenfatura_kod=new.gelen_fatura_kod)
  into :urunkod,:birim_fiyat,:kdv_birim_fiyat,:birim,:kdv_oran,:barkod,:malidnm,:islem_tar,:depo_no,:cari_kod, :islem_tur,:islem_tip;
   if (:barkod is not null) then
   begin
   new.urun_kod=:urunkod;
   new.birim_fiyat=:birim_fiyat;
   new.kdvli_birim_fiy=:kdv_birim_fiyat;
   new.birimi=:birim;
   new.kdv_oran=:kdv_oran;
   new.barkod=:barkod;
   new.islem_tar=:islem_tar;
   new.mali_dnm=:malidnm;
   new.depo=:depo_no;
   new.cari_kod=:cari_kod;
   new.islem_tur=:islem_tur;
   new.belge_tip=:islem_tip;
   end
   else
   begin
     exception olmayan;
   end 

end 

END
ibx çağırıyorsa fib çağırmıyorsaa koda ne problem olabilri
Başlayan Herşey Birgün Bitmek Zorundadır.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Bu gibi durumlarda genelde C: içinde bulunan Deneme isimli klasöre bir proje oluşturup Database ve table nesneleri ekleyerek basit bir test düzeneği kurmak her zaman yararlı olur derim. Yıllardır geliştirilen bir companenetin bu şekilde hata yapması garip.
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

belkii bende hata vardır Arkadaşklar benim fibplus bir sözüm yok . Fakat sonuc ortada denemek isteyen ler buyursun denesin.. yanlız kodla alakalı bir problem olsa ibx te çağırmaz
şu olabilir ben fibplus etkin kullanamıyor olabilirm.

ikiside datasette tek transactiona bağlı debnemediğim şey kalmadıo desem yeridir. kullanan arkadaşlar varsa acıklama yaparlarsa sevinirim.

Obur taraftan urun_kod ile çağrıyı hemen yapıyor.. Yanii Kodun çalışan bloğu aynı..

ben anlam veremedim verenlerede helal olsun boyuloe gariplikler benimi buluyor ya ?
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Bu yazdığın yanılmıyorsam bir trigger. Trigger da db ile alakalı. FIB+ ta hangi component i kullandın? tavsiyem TpFIBDataSet. bu kullandığınız component ların property lerini mutlaka inceleyin. Tahminim seni ilgilendiren PrepareOptions pfImportDefaualtValues bu true ise table field ında default value verdiysen bunu alır ve post ettiğinde default değer post edilir sende hep null kontrolü yapmışsın. burayı kotrol et bence.

FIB+ ta 2 tane transaction balayabilirsiniz ki ben bunu benim gibi hem gösterim hemde kayıt için aynı TpFIBDataSet kullanıyorsanız tavsiye ederim. sebebi şu "Transaction" property sine eklediğiniz transaction okumada kullanılıyor. "UpdateTransaction" ise adında anlaşılacağı gibi update işlemlerinde sadece.


bir tavsiye daha gerçi bu bana ait değil. FB kodlarınızı herzaman buyuk harfle yazın. Herşeyi. fieldları table isimleri vs vs

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

Barkod için Kullandığğım vharchar alanı uniqes tabından indexleyince sorunum halloldu.. ilginctir index bolumunde daha once uniqu olarak indexlememe rağmen ikisi farklı şeylermiş demekkii..
Başlayan Herşey Birgün Bitmek Zorundadır.
Cevapla