ADO ile Refresh

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

ADO ile Refresh

Mesaj gönderen ikra »

arkadaslar ado kullanarak mysql veritabanina baglaniyorum. daha sonra adoquery ile verileri sorgulayarak iki ayri quantumgrid icerisinde listeliyorum... birinci grid icinde ssk ya kayitli isciler digerinde ise kayitsiz isciler yer almali. kayitli kullanicinin üzerine cift tiklayarak Showmodal ile yeni bir pencere acip iscinin bilgilerine giriyorum. burada ssk dan kayitini silip yani kayitli = False yapip query'i refresh yaptiriyorum. fakat refresh te kayitini sildigim isci hala kayitlilarin listelendigi yerde listeleniyor... db nin icine girip baktigimda FALSE olarak degistirilmis. programi kapatip yeniden actigimda kisi dogru yerde listeleniyor. yani kisacasi refresh olayi calismiyor. fakat yine ayni pencereden bay mi bayan mi degisiklik yaptigimda ve refresh ettigimde olay aninda her iki grid e de isleniyor.

ben isin icinden cikamadim... sizce sorun neyden kaynaklaniyor olabilir?
kıdemsiz üye
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Adoquery1.refresh komutu işine yaramaz.Onun yerine

yani refresh yazdığın yere
Adoquery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.add('select * from tabloadi');
Adoquery1.sql.open;
yazarsan anında refresh olur.Seni yanlış anlamadıysam bu işiine yarar.Ben böyle kullanıyorum ve oluyor.Kolay gelsin.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

tesekkür ederim... bunu denedim bu sekilde calisiyor. fakat diger islemde refresh olayi calisirken bu islemde refresh olayinin calismama sebebi neden olabilir. her defasinda sql string i yeniden yazmaktan ise bunun sebebini bulmak gerekir ( fikrimce )...

ilgin icin tesekkür ederim... Allah razi olsun...
kıdemsiz üye
Kullanıcı avatarı
ozkanagiral
Üye
Mesajlar: 79
Kayıt: 17 Oca 2004 06:23
Konum: istanbul
İletişim:

Mesaj gönderen ozkanagiral »

veritabanı nı yeniden yüklüyorsun ama quantumgridi hiç kullanmadım onun tekrar veri çekmesi gerekiyor olabilirmi? yani tablo kapanıp açıldığında geldiğine göre aklıma bu geliyor xxgrid.reloaded gibi bir özelliği varmı onun :))))
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Sanırım Adoquery,Adotable,Table,Query vb. Refresh komutu çalışmıyor.Ben böyle biliyorum.Daha önce forumda da bahsi geçmişti.

Birde şunu dene buda çalışabilir.Sqli yeniden yazmadan sadece

Kod: Tümünü seç

Adoquery1.close;
Adoquery1.open;
Ama sqlide yeniden yazmak sorun değilki bir procedur yaz.Adı Tazele olsun.Procedurun içine bu kodları bir kez yaz.Bundan sonra her gerektiğinde O 4 satır kodu yazacağına

Kod: Tümünü seç

Tazele;
yazarsın olur biter.kolay gelsin.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

ilginiz icin tesekkür ederim... close open ile yapiyorum calisiyor sql string i yazmadan.
kıdemsiz üye
Ali Erdoğan
Kıdemli Üye
Mesajlar: 1026
Kayıt: 11 Şub 2005 02:12
Konum: İstanbul

Mesaj gönderen Ali Erdoğan »

close / open yapmaya da gerek yok

Kod: Tümünü seç

adodataset.requery();
metodu ile yenilene kayıtları alabilirsin.
Kullanıcı avatarı
karflake
Üye
Mesajlar: 222
Kayıt: 15 Haz 2003 03:57

Mesaj gönderen karflake »

Ali Erdoğan yazdı: adodataset.requery()
İşe yarıyor. Teşekkürler.
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

ado table bilmiyorum ama adoquery adından aanladığım ve kullandığım kadarı ile verileri çekiyor....ve sen refresh yaptığında zaten....çekilen verileri yeniliyorsun dolayısı ile....bir değişme olmamış gibi oluyor....

en son gönderilen mesajda da yazdığı gibi reguery dediğimizde bizim anladığımız manada bir güncelleme oluyor....
Cevapla