Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
offset
#1
offset neden çalışmıyor bende
firebird 2.5  
select ARSIVNO  from MUSTERILER  ORDER BY ARSIVNO  OFFSET 0 ROWS FETCH NEXT 2 ROWS ONLY
sql hata mesajı veriyor ofsette
Cevapla
#2
Bu özellik Firebird 3 ile eklendi.
Teknik dökümanları takip etmenizde fayda var...
Cevapla
#3
Sayfalama için iki yöntem paylaşıldı. Bu linki incelemek isteyebilirsiniz.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#4
(12-06-2021, Saat: 07:49)mrmarman Adlı Kullanıcıdan Alıntı: Sayfalama için iki yöntem paylaşıldı. Bu linki incelemek isteyebilirsiniz.

hocam tşkler. çok mantıklı bana uymayan kod


    FRecCount := FDQuery1.RecordCount;
 bu ama (kayıt sayısı çok olduğunda..1 milyon ve fazlasında memory hatası geliyor)) bunuda SQL ile çözerim..
tek sorunum .. en son kaydın yani en son sayfanın en başta olması.. tersten dizmem gerekiyor
Cevapla
#5
Üstadım orada iki çözüm var.
Asıl çözüm tüm kayıtları değil sadece sayfa kadar kayıt çeken olanı. O başlığa ilk mesajımda yazdığım yani.
Sıralamanın yönü biçimi önemli değil. Mantık basit çünkü.

Başarılar
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#6
Dm_Kayit.FD_musteriler.FetchOptions.RecsSkip  := FRecCount-10000;


bu kod duruken kayıt yaparken aşağıdaki hatayı aldım
Dm_Kayit.FD_musteriler.FetchOptions.RecsSkip  := -1;

yaptığımda kaydediyor


Exception class EFDException with message '[FireDAC][DApt]-400. Insert command inserted [0] instead of [1] record. Possible reasons: update table does not have PK or row identifier, record has been changed/deleted by another user'.
Cevapla
#7
https://www.delphican.com/showthread.php?tid=5886 sebep FDTable olabilir mi acaba?
saygılar mustafa ֍zgün 
Cevapla
#8
(13-06-2021, Saat: 06:22)emozgun Adlı Kullanıcıdan Alıntı: https://www.delphican.com/showthread.php?tid=5886 sebep FDTable olabilir mi acaba?

fdtablo kullanmıyorum fdquery ile çalışıyorum
Cevapla
#9
O halde http://docwiki.embarcadero.com/RADStudio..._(FireDAC) sayfasında belirtilenler olmalı:

A: This error is often raised when FireDAC includes some float / double / single / date / datetime / time or some other table fields, which are subject to precision loss in the WHERE phrase. When an application assigns values to parameters, the precision loss may happen. As result of that, the WHERE phrase returns no records.

FireDAC may include such fields into WHERE depending on UpdateOptions.UpdateMode. Sometimes you can see this error with upWhereKeyOnly. Although you have specified upWhereKeyOnly, FireDAC may still use upWhereAll. This happens when there is no PK field defined. No PK fields may be defined when:

fiMeta is excluded from FetchOptions.Items;
or a table in SQL does not have primary key defined;
or UpdateOptions.KeyFields is empty;
or none of TField's has pfInKey in ProviderFlags.

Another reason with some DBMSs (SQL Server, PostgreSQL) is that the table has a trigger which modifies the data. With SQL Server put SET NOCOUNT ON at trigger beginning. With PostgreSQL set UpdateOptions.CountUpdatedRecords to False.
saygılar mustafa ֍zgün 
Cevapla




Konuyu Okuyanlar: 1 Ziyaretçi