s.a
herkese iyi çalışmalar.programımda ibdatabase,ibtransaction ve ibdataset var.ibdatasetin afterpostunda ibtransaction.commitretaining komutu var.programım çok kullanıcılı.sorunum ise iki bilgisayarda aynı anda kayıt giriyorsa bilgisayarlardan birisi kayıtı post edince diğer bilgisayarın ekranına diğerinin girdiği kayıt otomatik olarak geliyor.ibevents ile olayları kontrol ediyorum ordaki komutum ibdataset.close ibdataset.open. oraya ibdataset.refresh dediğimde bu sorun olmuyor.o zamanda mesela 2.bilgisayarın kaydettiği bir kaydı 1.bilgisayardan programdan çıkıp tekrar girmeden göremiyorum.
yardımlarınız için şimdiden teşekkürler.
ibdataset çok kullanıcı kayıt sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 25
- Kayıt: 26 Nis 2011 03:18
Re: ibdataset çok kullanıcı kayıt sorunu
Program sadece ilk açılıştamı select sorgusunu yeniliyor sanırım sorunun öyle birşey arada atıyorum dakika da bir sorguyu yenilet görünmesi llazım. refresh te sorun verebilir belki ama select sorgusunu tekrar aktif edersen sorun kalkacaktır diye düşünüyorum. birde aynı kayıt içerisinde iki kişi aynı anda değişiklik yapması veri kaybına neden olabailir o yüzden boolean bir alanlala o anda kullanıcı kayıtın içindemi diye kontrol ettirip diğer kişilerin erişimini engellemen hata olasılığını sıfıra indirir.
Re: ibdataset çok kullanıcı kayıt sorunu
select sorgusunu yenilettiğim halde kullanıcı diğer kullanıcının oluşturduğu kayıta giremiyor.bu arada iki kullanıcı aynı kayıtı yapmyor. onun kontrolünü yapıyorum.
Re: ibdataset çok kullanıcı kayıt sorunu
Firebird un meşhur mga özelligi nedeniyle bu başına geliyor. Her transaction kendi kaydının kopyasını yaratır ve kapanana kadar onu muhafaza eder. Bu tür durumlarda transaction ı açıp kapatmalı veya fibplus-ibdac gibi çift transaction kullanan bileşen setine geçmelisin.
Veritabanıyla çalışırken şu noktalara dikkat etmek gerekir.
- Sadece gerekli olan kayıtları seçip, onları listeleyin-gösterin.
- Veritabanını boş yere açık tutmayın işiniz bitince hemen kapatın.
- Düzenleme gerekmiyorsa edit-delete özellikleri olan datasetleri degil, sadece okunabilir kayıt döndüren sql bileşenlerini kullanın.
- Ara ara transactionları açıp kapatın (her saniye degil, ama 3-4 dakikada bir olabilir. Aksi halde veritabanı sunucuna gereksiz yere yüklenmiş olursunuz.)
Firebird'un mga özelliği: http://www.firebirdfaq.org/faq44/
Veritabanıyla çalışırken şu noktalara dikkat etmek gerekir.
- Sadece gerekli olan kayıtları seçip, onları listeleyin-gösterin.
- Veritabanını boş yere açık tutmayın işiniz bitince hemen kapatın.
- Düzenleme gerekmiyorsa edit-delete özellikleri olan datasetleri degil, sadece okunabilir kayıt döndüren sql bileşenlerini kullanın.
- Ara ara transactionları açıp kapatın (her saniye degil, ama 3-4 dakikada bir olabilir. Aksi halde veritabanı sunucuna gereksiz yere yüklenmiş olursunuz.)
Firebird'un mga özelliği: http://www.firebirdfaq.org/faq44/
Re: ibdataset çok kullanıcı kayıt sorunu
hocam fibplus componentini kullanıyorum update transactionı ayrı bir transaction seçiyorum ama netice aynı. acaba clientdataset bileşeninimi kullanmalıyım ?Firebird un meşhur mga özelligi nedeniyle bu başına geliyor. Her transaction kendi kaydının kopyasını yaratır ve kapanana kadar onu muhafaza eder. Bu tür durumlarda transaction ı açıp kapatmalı veya fibplus-ibdac gibi çift transaction kullanan bileşen setine geçmelisin