Merhaba,
cachedupdates true olan bir datasetin kayıtlarını sorgulama, sum alma gibi işlemlerini farklı bir dataset ile nasıl yapabilirim.
cachedupdates true dataset en sorgulama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
cachedupdates true dataset en sorgulama
Mücadele güzelleştirir!
Re: cachedupdates true dataset en sorgulama
Merhaba,
Sorunuzu şu şekilde anladım. Zaten sunucu üzerinden alınmış olan bilgileri tekrar sunucuda SQL sorgusu oluşturmaya gerek kalmadan basit toplama vb işlemlerini kod yazmadan SQL gibi bir yordam ile nasıl yapabilirim.
Eğer doğru anladı isem;
1- TkbmMemTable ve TkbmMemSQL kullanabilirsiniz. Kayıtları içeren TDataSet içindeki verileri TKbmMemTable içine kopyalayıp ardından TkbmMemSQL ile sorgulamalar yapabilirsiniz.
2- Denemedim ancak teoride direk olarak TDataSet ve TkbmMemSQL kullanmanız da mümkün olabilir.
Sorunuzu şu şekilde anladım. Zaten sunucu üzerinden alınmış olan bilgileri tekrar sunucuda SQL sorgusu oluşturmaya gerek kalmadan basit toplama vb işlemlerini kod yazmadan SQL gibi bir yordam ile nasıl yapabilirim.
Eğer doğru anladı isem;
1- TkbmMemTable ve TkbmMemSQL kullanabilirsiniz. Kayıtları içeren TDataSet içindeki verileri TKbmMemTable içine kopyalayıp ardından TkbmMemSQL ile sorgulamalar yapabilirsiniz.
2- Denemedim ancak teoride direk olarak TDataSet ve TkbmMemSQL kullanmanız da mümkün olabilir.
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: cachedupdates true dataset en sorgulama
Durum şöyleki bir faturahareket tablosu düşünün bu QRYHAREKET datasetinde ve bu dataset cached update true olduğu için
farklı bir datasete QRYHAREKET datasetinde ki tutar alanını nı sum ile toplatmak istiyorum bilgiler veritabanına henüz yazılmadığı memoryde olduğu için sorgu sonucu boş geliyor taki apply updates yapana kadar.
TKbmMemTable ve TkbmMemSQL ile deneyeceğim.
farklı bir datasete QRYHAREKET datasetinde ki tutar alanını nı sum ile toplatmak istiyorum bilgiler veritabanına henüz yazılmadığı memoryde olduğu için sorgu sonucu boş geliyor taki apply updates yapana kadar.
TKbmMemTable ve TkbmMemSQL ile deneyeceğim.
Mücadele güzelleştirir!
Re: cachedupdates true dataset en sorgulama
veri tabanın ve kullandığın bileşenlerde önemli. cachedupdate e neden gerek var? transcation var zaten. Kullandığın bileşen read ve write transaction destekliyorsa, ortak transaction lara bağlarsan, commit etmesende birbirlerinin postlarını görür.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: cachedupdates true dataset en sorgulama
veritabanı firebird ağ trafiği, hız sorunu olduğu için kullanmak istedim cachedupdatei, birde yazdığım uygulama piyasadaki bir programa ek olarak hızlı satış modülü ana programın kendisinde bulunan modül yavaş çalışıyor çokfazla field var örnek var olan bir kayda gitip bir kaç değişiklik yapıp değişiklikleri iptal edemiyorsunuz gibi sıkıntıları mevcut bende en optimize şekilde çözmeye çalışıyorum.
şeklinde sorunumu çözdüm.
Kod: Tümünü seç
kbmMemTable1.Close;
kbmMemTable1.EmptyTable;
kbmMemTable1.CreateTableAs(QryFaturaHareketi,[mtcpoStructure,mtcpoProperties]);
kbmMemTable1.Open;
kbmMemTable1.LoadFromDataSet(QryFaturaHareketi,[]);
kbmMemSQL1.Tables.Clear;
kbmMemSQL1.Tables.Add('FATURAHAREKETI',kbmMemTable1);
kbmMemSQL1.ExecSQL(SQLCUMLEM);
Mücadele güzelleştirir!
Re: cachedupdates true dataset en sorgulama
şu sıra herkese aynı tavsiyede bulunuyorum
sanada onu salık vereyim. sqlite. sadece dll kpyalaman kullanman için yeterli. Burdada yani sqlite yada memtable la veritabanından ayrı bir yerde işlem yapmakata senkron işini çok iyi kotrol etmek gerek. memtable sqlite yerine veritabanına bir temp table da ekleyebilirsin, tabi burdada client sayıları ve onlarında aynı table a erişme ihtimali göz önünde bulundurmak gerek. sonrada işleri server da bir stored procedure ile esas table a işletebilirsin.

ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: cachedupdates true dataset en sorgulama
Açıkçası veritabanını ben dizayn etmediğim için tablo açmak sp yazmak istemiyorum yazayım dedim firebird 1.5 kullanılıyor bir kaç komut çalışmamıştı.
sqllite bir kaç yerde kullandım ufak tefek işler için gayet yeterli kbmMemTable çok hızlı çalışıyor o yüzden ilk tercihim oldu birde sql ile müdahale edebilmek var tabi sadece biraz düzensiz sql yazınca sevmiyor kbmMemSQL örnek select sum (miktar) as toplam from hareket çalışmıyor sum dan sonraki parantezle arasında boşluk olduğu için sum(miktar) yazınca sorun yok firebird iki koduda ne olursan ol gel
diyerek kabul ediyor.
sqllite bir kaç yerde kullandım ufak tefek işler için gayet yeterli kbmMemTable çok hızlı çalışıyor o yüzden ilk tercihim oldu birde sql ile müdahale edebilmek var tabi sadece biraz düzensiz sql yazınca sevmiyor kbmMemSQL örnek select sum (miktar) as toplam from hareket çalışmıyor sum dan sonraki parantezle arasında boşluk olduğu için sum(miktar) yazınca sorun yok firebird iki koduda ne olursan ol gel

Mücadele güzelleştirir!