adoconnection.refresh

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

adoconnection.refresh

Mesaj gönderen metemete »

s.a.
trigger kullandıgım ıcın database işlem yaptıgımda alanların son halını ekrana istiyorum.
adoquer1.refresh de olmuyor

Kod: Tümünü seç

  form1.ADOConnection1.BeginTrans;
  try
   form1.ADOConnection1.CommitTrans;
  except
    form1.ADOConnection1.RollbackTrans;
  end;
  form1.ADOConnection1.Connected:=false;
  adoquery1.open
  end;
form1.ADOConnection1.Connected:=false; adoquery1.open yaparak oluyor ama en son işlem yaptıgım satır degıl ilk satıra donuyor

yardım please
sipi_raca
Üye
Mesajlar: 38
Kayıt: 07 Nis 2005 02:00

Re: adoconnection.refresh

Mesaj gönderen sipi_raca »

ilk satıra query kapatıp açtığında ilk satıra dönme sebebi senin verilerini kayıt sırasıona göre getirmesindendir.
order by .. desc ekle veya grid kullanıyorsa onun sıralamasını artık tablonda uygun bir key alanı yada tarih falan varsa büyükten küçüğe sıralamayı dene
Başarı; Her zaman daha iyisini yapmak için gösterilen çabadır.
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: adoconnection.refresh

Mesaj gönderen adelphiforumz »

bir dosyayı close, open edersen kayıt first olur.
ancak after post işlmine gidip kayıta ulaşabileceğin bir keyi bir değişkene atarsan
ve dosyayı open ettikte sonrada locate komutunu kulanırsan kaydı yakalarsın
fakat unut çok fazla kayıt olan dosyalarda bu işini biraz yavaşlatır.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: adoconnection.refresh

Mesaj gönderen sabanakman »

ADO bileşenlerinde güncellenmiş değerleri .Refresh ile değil .Requery metodu ile süratli bir şekilde güncelleyebilirsin. Eğer bulunduğun kayıt satırından da kopmak istemiyorsan aşağıdaki prosedürü kullanmanı öneririm.

Kod: Tümünü seç

procedure Tazele(const DataSet:TCustomADODataSet);
var Satir:String;
begin
  if DataSet.Active and not DataSet.isEmpty then begin
    try
      Satir:=DataSet.BookMark;
      DataSet.Requery;
      if Satir<>'' then DataSet.BookMark:=Satir;
    except
      DataSet.Last;
    end;
  end;
end;
Bu prosedür ile farklı terminal ya da trigger gibi diğer etkenler tarafından gerçekleştirilen değişiklikler hiç çaktırmadan güncellenir :wink: . Örnek olarak da ..:
Tazele(ADOTable1); Tazele(ADOQuery1); Tazele(ADODataSet1); şeklinde kullanabilirsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

Re: adoconnection.refresh

Mesaj gönderen metemete »

sağolun arkadaslar yardımlarınız için sabanakman cok yardımcı oldun tşk ederim.
Cevapla