firebird den vazgeçecem nerdeyse?

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ı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

firebird den vazgeçecem nerdeyse?

Mesaj gönderen y.kulac »

s.a.
arakadaşlar. firebird 1.5 ve ibx bileşenlerini kullanıyorum.
ilk kayıt esansında tabloya kayıt yapıyor.
her post işleminden sanra

Kod: Tümünü seç

datamodule1.IBTransaction1.CommitRetaining;
komutunu kullanıyorum.
forumda aramada yaptım ve bu sorun ile ilgili dökümanları inceledim uyguladım. hepsini denememe rağmen daha sonraki değişiklikler neden o anda yapılmış gibi görünsede daha sonra işlem yapılmamış görünüyor.

ibdataset1 in afterpost ve afterdelete olaylarına bile yazdım yukarıdaki kodu.
datamodule deki ibtransaction1 in durumunuda read commited olarak ayarladım. ben nerede hata yapıyorum. çıkamadım işin içinden.
daha sonra yeni girdiğim kayıtlar ve değişiklikleri tabloda bir türlü göstermedim. ben nerde hata yapıyorum.

tabloya yeni kayıt için şu kodu kullanıyorum.

Kod: Tümünü seç

ibdataset1.Open;
ibdataset1.Append;
kaydet komutum şöyle

Kod: Tümünü seç

ibdataset1.edit;
ibdataset1.Post;
 Datamodule1.IBTransaction1.CommitRetaining;
sil komutum şöyle

Kod: Tümünü seç

ibdataset1.delete;
Datamodule1.IBTransaction1.CommitRetaining;
iyi çalışmalar.
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

slm
kolay gelsin

transaction'un Defaultaction özelliğini TACommitRetaining olarak ayarladınız mı ayrıca;
Tableye yeni kayıt için append, bu komuttan önce open demenize gerek yok,
kayıt için post, bu komuttan önce de edit demenize gerek yok,

datasetin afterpost ve afterdelete olaylarına da
IBTransaction1.CommitRetaining;

bir de böyle deneyin

ayrıca transaction, dataset ve databasenin
default transaction, defaultdatabase, transaction bağlantılarını kontrol edin.
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

merhaba

ibtable1.open dememin sebebi tablo kapalı.
ibdataset1.edit dememin sebebi value olayında hesaplama işelmi yaptırmam.
ibdatastetin afterpost ve afterdelete olaylarına

Kod: Tümünü seç

Datamodule1.IBTransaction1.CommitRetaining;
yazdım.

ibtrransaction'un Defaultaction özelliğini TACommitRetaining olarak ayarlı zaten.

bunlara rağmen zaten işlem yapamıyorum.
iyi çalışmalar.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
sanırım sebebi generator.
autoincrement alanlara değerleri nasıl aktarıyorsunuz.
triger ile yaptıysanız tablolarınızın bu alanlara verilen değerleri görmesi için refresh(close/open) yapmanız lazım.
eğer ibdataset kullandıysanız generatorfields özelliğinden pkey alanları ve generatorleri ilişkilendirdiğiniz zaman sorunun çözülmesi 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ı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

generator kullanmıyorum. işlemi yapıyorum. o anda formda işlem yapılmış görünüyor.
formu kapatıyorum. kapatırkende dataseti kapatıyorum. aynı forma yada başka bir forma geçince bakıyorumki kayıtlar yok. değişiklikler tabloya yansımamış.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

:) Sanırım bir yerlerde bir şeyleri atlıyor yada yanlış yapıyorsunuz, zira bu güne kadar başıma böyle bir şey gelmedi ve benim gibi FB kullanıp da kayıtların (gerçekten diske yazmaması) gibi bir şey ile karşılaşan da duymadım.

Muhtemelensizin atladığınız bir yer var. Bir sürü insan kullanıyor, 200 GB'nin üzerinde DB'si olan insanlar ve kuruluşlar var :) Kaydetmese kullanmazlardı değil mi?

Bence çok basit 2 pencere hazırlayın, bir tabloya kayıt yaptırın. Sonra kayıt yaptığınız pencereyi kapatın, diğer pencereden de bir grid aracılığı ile tabloyu (refresh edin).

Böyle küçük bir uygulama yazın. Eğer bahsettiğiniz sorun burada da baş gösterirse, bu hazırladığınız projeyi bize yollayın, biz de bir inceleyelim bakalım sorun nereden kaynaklanıyor.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

ibdataset i sildim. tekrar foruma ibdataset koydum. ibdatasetin bağlantılarını yaptım. dataset editor den gerekli ayarlamaları yaptım. bu sefer her şey normal göründü.
ama ben bu işlemi zaten yapmıştım. belirli bir süre sonra acaba tekarar aynı şeyle karşılaşırmıyım.
dikkatimi çeken bir şey oldu.
JvDbComboBoxlar dan yaptığım seçimler tabloya yansımıyor. el ile yazmak gerekiyor.

her şeye rağmen firebird ile devam etmek istiyorum. acaba diyorum ibx bileşenleri bazen saçmalıyor mu? yada be saçmalıyorum. :?

şimdilik sorun ibdataset ten gibi görünüyor. ilerine ne olur göreceğiz.

ilgilenen arkadaşlara teşekkür ederim.
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

Bazen bir forma bileşenleri koyarız, üzerinde bir sürü değişiklikler yaparız. Sonra o yaptıklarımızı unutur bu neden böyle yapıyo diye hayıflanırız :).
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

bir de firebirdi silip (system32 dizinindeki gds32.dll'yi de unutmayın) yeniden yükleyin, böyle deneyin...
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

slm

Firebird'i silip yeniden kurarak denediniz mi ?
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Sorun çok büyük ihtimalle Delphi'den kaynaklanıyor! Mevcut projelerin birisinde, bazı formlarda DataSource nesnelerinin DataSet'leri. projeyi her açmamda siliniyor, her defasında yeniden atamak durumunda kalıyorum.Bu ve buna benzer önemli problemleri var Delphi'nin.Kaynağı ise kullandığınız 3.parti bileşenler.Delphi söz konusu bileşenlere ait bazı property'leri dfm dosyalarından okurken bir problemle karşılaştığında bu tür sebepsiz gibi görünen saçma sonuçlar doğurabiliyor vs.

Kolay gele.
Cevapla