Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Pascal / Delphi / Delphi.NET

Cevapla
 
LinkBack Seçenekler
Eski 27/04/2008, 16:18   #1 (permalink)
Üye
 
necmettinaslan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2008
Yer: Diyarbakır
Mesaj: 9
Varsayılan ADO requery çalışmıyor

merhaba, arkadaşlar üç gündür çözemediğim bir sorun var, acil yardıma ihtiyacım var:

ADO table ve DB Grid ile ekranda kayıtları gösteren bir programım var.
Bu programımın çalıştırdığı bir başka program da aynı veritabanı dosyasına kayıt yazıyor.
yani iki program aynı veritabanı dosyasını kullanıyor. (iki farklı thread oluşmuş oluyor)
ikinci program çalışırken ve kapandıktan sonra veritabanına yazdığı verileri birinci programdaki dbgridde göremiyorum. bir requery göndermezsem hiç göremiyorum.
sorum şu:

- ADO ile başka bir programın veritabanına yazdığı bilgileri anlık olarak görmem mümkün müdür (bir timerla requery gönderme gibi yöntemler dışında), cursortype falan mı değiştirmem lazım?

- ikinci programın veritabanına yazıyor göründüğü veriler direk dosyaya yazılmıyor mu? önce bellekte tutulup sonra diske gönderildiği için mi birinci programda anlık olarak göremiyorum, öyleyse direk olarak diske yazılmasını sağlayabilirmiyim?

yardımlarınız için şimdiden çok teşekkürler..
necmettinaslan hatta değil   Alıntı Yaparak Yanıtla
Eski 27/04/2008, 18:28   #2 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

Yaptığını söylediğn şey veri tabanı mantığına aykırı. Bir sunucu üzerinden paylaşılan veri tabanı tipi ne olursa olsun (access, mysql, DB2, IBS vs.) birden fazla istemci ile kullanıldığında istemcilerin aynı anda aynı kayıt satırına işlem yapmak üzere erişmesi demek bir onRecileError (güncelleme çakışması) hatası demektir. Suncu üzerinden istemcilere aktarılan veriler istemci bilgisayar üzerinde Delta adı verilen bir cache bölgesinde tutulur. Yapılan güncellemeler eğer direk sunucuya commit edilirse, bu değişiklikten diğer sitemci bilgisayarların özel bir yöntem yazılmadığı sürece haberi olamaz. Neden ? Çünkü onlar veriyi sunucudan almış ve sunucu ile irtibatlarını kesmişlerdir. Data Delta üzerinde görüntülenmektedir. Direkt sunucuya yapılan post çağrılarının diğer istemcilerdede fark edilmesi için kullanılacak bir çok yöntem mevcuttur. Bunlardan biri güncelleme zaman bilgisini bir tabloda tutup belirli zaman aralıklarında bu tabloya bakmaktır.

Esasen Client/Server yada network tabanlı database uygulamalarında veri tabanı bağlantıları hiç bir zaman canlı olmamalıdır. Lakin senin yaptığın işleme göre bu bağlantıyı canlı tuttuğunu görüyoruz. Bu veri Delta üzerinde tutuluyor. Kesin anlık son durum gösterimleri istiyorsan veriyi canlı tutma ve güncellemeleri timer vb. algortimalarla takip et...
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 27/04/2008, 22:26   #3 (permalink)
Üye
 
necmettinaslan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2008
Yer: Diyarbakır
Mesaj: 9
Varsayılan

ne demek istediğinizi genel olarak anladım, teşekkürler.
ancak biraz daha detay belirtmek istiyorum. ben sunucu-istemci tabanlı bir program yazmıyorum. veritabanı bir pc de ve iki program da aynı pc de çalışıyor. programlardan sadece biri veritabanına bilgi yazıyor, diğeri de bu bilgileri anlık olarak görüntülesin istiyorum. sanırım burada programlarımı istemci bilgisayar, ODBC yi ya da MDAC ı da sunucu bilgisayar gibi düşünmem gerekiyor sizin söylediklerinizi anlayabilmem için. benim sorunum verilerin delta dediğiniz cache te tutulmasından kaynaklanıyor anladığım kadarıyla. yine timer gibi birşeyler kullanarak ya da işlemin sonlandığını kontrol ederek AdoTable.requery yapmam gerekiyor.
necmettinaslan hatta değil   Alıntı Yaparak Yanıtla
Eski 28/04/2008, 00:29   #4 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

aynı bilgisayarıda kullansan her uygulama kendi uzay adresinde çalışacağından kendine ait bir Delta cache ile veri alış verişi yapar. Süreçler (process) farklı olduğundan Mantık değişmez...
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 28/04/2008, 03:07   #5 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 640
Varsayılan

Ayrıca tablonuzda 10-15 kayıt varsa Adotable kullanın.
Aksi Halde performans için AdoQuery kullanmanızı şiddetle tavsiye ederim


.
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
usb çalışmıyor madeye Donanım 0 22/02/2008 15:41
PHP çalışmıyor! Codegen PHP 15 21/12/2006 09:12
asp çalışmıyor MeM ASP 6 10/11/2004 02:58
IIS Çalışmıyor... hgumus Uygulama Yazılımları / Hazır Betikler 12 02/08/2004 13:48
cd-rom çalışmıyor murath Windows 1 09/07/2003 00:08


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 11:02.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net