Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
virtualTable Kullanımı
#1
Merhaba;

virtualTable'ı bir projemde kullanmaya çalışıyorum. ID alanı otomatik artan, ID alanı için değer girmelisiniz diyor.
dxmemdata, fdmemtable kullanmıştım böyle bir sorunla karşılaşmamıştım. henüz database ye kaydedilmemiş veriler ve ID değerleri henüz yok. bellekte kayıtları oluşturup database kaydettikten sonra ID değerleri oluşuyor. databaseden veri çektiğimiz zaman ID değeri olur. kaydedilmemiş henüz bellekte olan kayıtlar için ID değeri neden istiyor.

neyi yanlış yapıyorum. yardımcı olabilirmisiniz.
WWW
Cevapla
#2
(25-03-2020, Saat: 13:21)akuyumcu63 Adlı Kullanıcıdan Alıntı: Merhaba;

virtualTable'ı bir projemde kullanmaya çalışıyorum. ID alanı otomatik artan, ID alanı için değer girmelisiniz diyor.
dxmemdata, fdmemtable kullanmıştım böyle bir sorunla karşılaşmamıştım. henüz database ye kaydedilmemiş veriler ve ID değerleri henüz yok. bellekte kayıtları oluşturup database kaydettikten sonra ID değerleri oluşuyor. databaseden veri çektiğimiz zaman ID değeri olur. kaydedilmemiş henüz bellekte olan kayıtlar için ID değeri neden istiyor.

neyi yanlış yapıyorum. yardımcı olabilirmisiniz.

iyi günler  aşağıdaki blog da
tam sizin sorundan bahsediyor.
çözüm olarak  ID sutunu olarak  rowid  alanını kullanarak çözmüşler
http://duccao.blogspot.com/2013/05/auto-...rtual.html
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#3
ID alanı required seçeneği kaldırmalısınız
WWW
Cevapla
#4
Merhaba,
Insert işlemi için kullandığınız bileşenin (Query, Table vb) key sequnce gibi bir özelliği varsa, bu alanda insert yaptığınız tabloya bağlı sequence adını seçmelisiniz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#5
(25-03-2020, Saat: 18:26)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
Insert işlemi için kullandığınız bileşenin (Query, Table vb) key sequnce gibi bir özelliği varsa, bu alanda insert yaptığınız tabloya bağlı sequence adını seçmelisiniz.

fatih hocam;
1. TEKLIFHAREKET bir tablom var alanları (ID, TEKLIFID, ACIKLAMA, BIRIM, MIKTAR FIYAT, TUTAR(computed by (COALESCE(MIKTAR*FIYAT,0))))
2. forma cxgrid, Datasource, virtualTable ekliyorum,
3. virtual tablenin üzerinde sağ tuş Assing DataSet komutunu verip ilgili Teklif Hareket tablosunun ilgili Query sini seçiyorum. alanlar virtual table ye ekleniyor. ID alanının required  özelliğini de kaldırıyorum.

ya access violation hatası alıyorum. yada ID alan boştur diyor. cxgrid üzerinde uyguladığım bütün kodları devre dışı bıraktım. virtualTable1.Append ile kayıt ekliyorum. ikinci kayıt eklenince yazdığım hataları alıyorum. hatayı post işlemi yaparken veriyor sanırım. kullanıdığım veri tabanı firebird 2.5.9 ver.
WWW
Cevapla
#6
(25-03-2020, Saat: 20:16)akuyumcu63 Adlı Kullanıcıdan Alıntı:
(25-03-2020, Saat: 18:26)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
Insert işlemi için kullandığınız bileşenin (Query, Table vb) key sequnce gibi bir özelliği varsa, bu alanda insert yaptığınız tabloya bağlı sequence adını seçmelisiniz.

fatih hocam;
1. TEKLIFHAREKET bir tablom var alanları (ID, TEKLIFID, ACIKLAMA, BIRIM, MIKTAR FIYAT, TUTAR(computed by (COALESCE(MIKTAR*FIYAT,0))))
2. forma cxgrid, Datasource, virtualTable ekliyorum,
3. virtual tablenin üzerinde sağ tuş Assing DataSet komutunu verip ilgili Teklif Hareket tablosunun ilgili Query sini seçiyorum. alanlar virtual table ye ekleniyor. ID alanının required  özelliğini de kaldırıyorum.

ya access violation hatası alıyorum. yada ID alan boştur diyor. cxgrid üzerinde uyguladığım bütün kodları devre dışı bıraktım. virtualTable1.Append ile kayıt ekliyorum. ikinci kayıt eklenince yazdığım hataları alıyorum. hatayı post işlemi yaparken veriyor sanırım. kullanıdığım veri tabanı firebird 2.5.9 ver.

Assign ettiğiniz Query hangi bileşen setine ait?
Sorun VirtualTable da değil, insert yaptığınız Query den kaynaklanıyor.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#7
(25-03-2020, Saat: 20:22)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:
(25-03-2020, Saat: 20:16)akuyumcu63 Adlı Kullanıcıdan Alıntı: fatih hocam;
1. TEKLIFHAREKET bir tablom var alanları (ID, TEKLIFID, ACIKLAMA, BIRIM, MIKTAR FIYAT, TUTAR(computed by (COALESCE(MIKTAR*FIYAT,0))))
2. forma cxgrid, Datasource, virtualTable ekliyorum,
3. virtual tablenin üzerinde sağ tuş Assing DataSet komutunu verip ilgili Teklif Hareket tablosunun ilgili Query sini seçiyorum. alanlar virtual table ye ekleniyor. ID alanının required  özelliğini de kaldırıyorum.

ya access violation hatası alıyorum. yada ID alan boştur diyor. cxgrid üzerinde uyguladığım bütün kodları devre dışı bıraktım. virtualTable1.Append ile kayıt ekliyorum. ikinci kayıt eklenince yazdığım hataları alıyorum. hatayı post işlemi yaparken veriyor sanırım. kullanıdığım veri tabanı firebird 2.5.9 ver.

Assign ettiğiniz Query hangi bileşen setine ait?
Sorun VirtualTable da değil, insert yaptığınız Query den kaynaklanıyor.
UniDAC - UniQuery
WWW
Cevapla
#8
UniQuery'nin SpecificOptions özelliklerinde KeyGenerator değerine otomatik artan generator adını yazın.
Yine UniQuery'nin KeyFields özelliğinde otomatik artan alan adını seçin.
Bunu kodla da aşağıdaki gibi yapabilirsiniz.
UniQuery.KeyFields := 'ID';
UniQuery.SpecificOptions.Values['KeyGenerator'] := 'GeneratorAdi';
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#9
merhaba;
işin içinden bir türlü çıkamamıştım. unidac ın virtualtable ile ilgili örneğini inceledim sonra işlemleri silip adım adım yeni yeniden yapmaya çalıştım. şimdi gayet güzel çalışıyor.

sorun biraz benim vitualtable yi diğer memtable ler gibi kullanmaya çalışma biçimimden kaynaklanmış. demo örnekleri iyi incelemek gerekiyor. fazla kod her zaman daha büyük problem.

virtualtable deki ID alanı için required özelligini false yapmak yeterli geliyor.

bu karantina günlerinde virtualtable beni iyi yordu. 

hepinize çok teşekkür ederim.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  CalcField Kullanımı hi_selamlar 5 222 05-04-2020, Saat: 15:40
Son Yorum: hi_selamlar
  Sanal Pazar Api Kullanımı erdemtaner 3 259 04-03-2020, Saat: 15:36
Son Yorum: kodamelesi
  SUBSTRING Komutu Kullanımı OZCANK 4 212 29-02-2020, Saat: 14:50
Son Yorum: uparlayan
  tag kullanımı erdogan 2 234 26-02-2020, Saat: 20:27
Son Yorum: asrsantos
  touchkeyboard kullanımı erdogan 11 482 26-02-2020, Saat: 09:23
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi