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.
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
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.
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.
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.
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
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';
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.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Unigui iframe kullanımı delphiX14 4 1.526 21-12-2023, Saat: 12:14
Son Yorum: delphiX14
  Peekb, Poke, Peek vb. komutlarının delphi kullanımı? kofmaster 4 2.900 26-08-2023, Saat: 10:37
Son Yorum: veteran
Question FastReport Masterdetail Kullanımı riverred 7 1.105 17-05-2023, Saat: 14:02
Son Yorum: hi_selamlar
  Delphi 11.3 FastReport kullanımı Frrst 0 576 16-04-2023, Saat: 01:00
Son Yorum: Frrst
Photo fastreport IIF function null kullanımı themerdogan 8 1.878 05-01-2023, Saat: 18:18
Son Yorum: themerdogan



Konuyu Okuyanlar: 1 Ziyaretçi