Her sorgudan önce dataseti kapatmalımıyız?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mhizar
Üye
Mesajlar: 78
Kayıt: 30 May 2005 11:06

Her sorgudan önce dataseti kapatmalımıyız?

Mesaj gönderen mhizar »

Arkadaşlar Adoqery ile bir sql sorgusu çalıştırmadan önce bildiğim kadarıyla önce

Kod: Tümünü seç

Adoquery1.close;
Adoquery1.sql.clear;
yapılması gerekiyor.Sonra ise ilgil sql kodları yazılıp Open yada ExecSql denerek sorgu çalıştırılır.Programımda bu sorgulardan belki 100 tane var.Bir arkadaşım her defasında

Kod: Tümünü seç

Adoquery1.close 
yazarak dataseti kapatmanın ve sonra tekrar açmanın programı yavaşlatacağını sadece

Kod: Tümünü seç

Adoquery1.sql.clear;
yazmanın yeteceğini söyledi.Bende tavsiyesine uyarak programımdaki tüm

Kod: Tümünü seç

Adoquery1.close
kodlarını sildim.Programım daki sorgular yine çalışıyor.Ama benim kısıtlı delphi bilgilerime göre bu yanlış.Acaba ilerde bir sorun çıkarırmı?Bu son yaptığım doğrumudur.Hepinize kolay gelsin.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

ExecSQL ile select ... from ... komutu içermeyen sorgu cümlecikleri kullanabiilirsiniz. Aksi halde

Kod: Tümünü seç

AdoQuery1.Open;
veya

Kod: Tümünü seç

AdoQuery1.Active := True;
kullanmalısın.

Ayrıca SQL i değiştireceğinde sorgunun kapatılması (Close) gerekmektedir :!:

Kod: Tümünü seç

AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('select * from tablo');
AdoQuery1.Open;

//AdoQuery1.SQL.Add('delete from tablo where alan=123');
//AdoQuery1.ExecSQL; 
Yavaşlama olayı program kodu ve VT yi optimize ettikten sonra kafaya takılacak bir durum değil :idea: :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

merhaba ,
DAtaset in SQL özelliğinde ADD yada Clear gibi metodları çağırmak otomatik olarak close metodunu çağıracağından cümle değişikliklerinde close demek kod kalabalığı yapar kullanmayabilirsiniz.
iyi çalıişmalar.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla