Benim şöyle bir sorunum var. Aşağıdaki kod yardımıyla insert update gibi sql komutlarını (DB ye yazan) çalıştırıyorum. Programım içinde sorun yok değişiklikleri bir güzel görüntüleye biliyorum. Ama sanırsam sadece Tmp de değişiklikleri yapıp fiziksel olarak veri tabanına yazmıyor. Tabiki bunun sonucu olarak farklı bir programla yada aynı program başka pcden çalıştırıldığında veri değişikliklerini göremiyor.
IBTransaction i AutoStart tanımlamamışsan IBTransaction->Active = true; i Query->ExecSQL(); den önce de başlatman lazım. Ayrıca IBTransaction->Commit(); yerine IBTransaction->CommitRetaining(); i kullanmalısın Son durum şöyle olmalı;
programın çalıştığı bilgisayarda problem yok listeleniyor yeni kayıt hatta ibexertle baktım ondada gözüküyorr.ama başka pc de programı açıp kapamadan kayıt görülmüyor..cached update kapalı..bide önemlimi bilmiyorum ama kayıtı datafrm.musteri ile yapıyorum..listelemeyi datafrm.musterilist ile...sizce nedirr bu durumm arkadaşlar..şimdiden teşekkür ederim..
Database Serverı yapılan değişiklikleri kendisine bağlı olan terminallere eventler göndererek haber verebiliyor. Serverdan gelen event'ı alan bileşenin (TIB_Event vb.) OnAlertEvent event'i tetikleniyor. Eventin içeriğine bakarak ne yaptırmak istiyorsan yaptırıyorsun programına.(Refresh vb.) Çok temel bir konu olduğu için sanıyorum forum içinde bununla ilgili açıklamalar vardır.
Manual'dan kastım bir yenile(refresh) butonu kullanman. Veya belirli zaman aralıklarıyla table veya query i refresh ettirmen. Bu yöntemler bence iyi yöntemler değil.