Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Locate neden kaçırıyor
#11
(28-06-2020, Saat: 11:20)mrmarman Adlı Kullanıcıdan Alıntı: Süpersiniz, bahsettiğim işte buydu.   Idea
Toplam 1 tane kümülatif SQL +  seçili Image adet SQL = az sayıda SQL erişimi yapıldı => maksimum performans Smile

Hatta bunu 2 SQL'e kadar kısaltma imkanı var ya, buradaki örnekte gerek yok Smile  

Kasıt: WHERE FOTOGRAF IN ( tar1, tar2 tar3.... ) gibisinden. Döngüde bu true olanların FOTOGRAF field ile ilgili olanları bir String içerisinde yan yana virgüller koyarak döngünün sonunda SQL yazarak şeklinde...  Tongue




var
  Fotos : String;
begin
  Fotos := '';
  for I := 0 to ImageEnMView1.ImageCount-1 do
  begin
    if ImageEnMView1.Checked[i] then
    begin
      Sonuc     := AnsiPos('.' , ImageEnMView1.ImageFileName[i]); // “.” Kaçıncı karakter.
      Fotograf  := AnsiRightStr(AnsiLeftStr(ImageEnMView1.ImageFileName[i] , Sonuc-1),4); // Noktadan öncesi
      if Fotos = '' then Fotos := QuotedStr( Fotograf )
                    else Fotos := Fotos + ', ' + QuotedStr( Fotograf );
    end;
  end;

// Elimizde Fotos değişkeni altında FOTOGRAF field için virgülle ayrılmış liste var...
// ve henüz hiç SQL erişimi yapmadık

  try
    Dm_Foto.FD_FotoSorgu.Active:=false;
// 1. SQL
    Dm_Foto.FD_FotoSorgu.SQL.Clear;
    Dm_Foto.FD_FotoSorgu.SQL.Add('UPDATE FOTO set CHECK1=0 WHERE ARSIVNO=:tar1');
    Dm_Foto.FD_FotoSorgu.ParamByName('tar1').Value:=Dm_Kayit.FD_Musteriler.FieldByName('ARSIVNO').AsString;
    Dm_Foto.FD_FotoSorgu.ExecSQL;

 // 2.SQL
    Dm_Foto.FD_FotoSorgu.SQL.Clear;
    Dm_Foto.FD_FotoSorgu.SQL.Add('UPDATE FOTO set CHECK1=1 WHERE ARSIVNO=:tar1 AND FOTOGRAF IN ( ' + Fotos + ') ');
    Dm_Foto.FD_FotoSorgu.ParamByName('tar1').Value:=Dm_Kayit.FD_Musteriler.FieldByName('ARSIVNO').AsString;
    Dm_Foto.FD_FotoSorgu.ExecSQL;
  finally

  end;
end;



mükemmel oldu..
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Web Server Application yerine Remobjects neden tercih edilir pro_imaj 1 179 17-06-2020, Saat: 09:16
Son Yorum: Fesih ARSLAN
  Locate ve Lookup TR Karakter sorunu narkotik 3 1.337 15-06-2020, Saat: 16:49
Son Yorum: samsaros@gmail.com
  Nesne Neden Free Olmuyor? Halil Han Badem 3 981 31-07-2019, Saat: 14:28
Son Yorum: sddk
  TCustomControl neden TRANSPARENT olmuyor? uparlayan 7 2.499 03-04-2018, Saat: 15:06
Son Yorum: uparlayan
  Rad Studio Neden Bu Kadar Hızlı? savasabd 14 4.684 27-09-2017, Saat: 19:21
Son Yorum: ismailkocacan



Konuyu Okuyanlar: 1 Ziyaretçi