Firebird'de dizi alana nasıl kayıt girme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
muttalip
Üye
Mesajlar: 71
Kayıt: 18 Haz 2003 08:58
Konum: İstanbul
İletişim:

Firebird'de dizi alana nasıl kayıt girme

Mesaj gönderen muttalip »

Firebird'de tanımladığımız dizi alana veri grişini nasıl yapacağız.

INSERT INTO TABLO1 (DIZI) VALUES (....)
Muttalip TOPTAŞ

Yıldız Teknik Üniversitesi
Bilgi İşlem Dairesi Başkanlığı

Tel: 0212-3832134
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

mümkünatı varsa kullanmayın, daha sonra ibexpert ile başınız belaya giriyor :) yok ibexpertle çalışmıyorum diyorsanız ibx in dizi desteği yok, fibplus ta ise

viewtopic.php?p=63237#63237

Kod: Tümünü seç

var v_Highlimit:variant;
...

v_Highlimit := DataMod.pFIBMACHPARAM.ArrayFieldValue(DataMod.pFIBMACHPARAMHIGHLIMIT);
v_Highlimit[indexin] := rHighLimit[indexin];
if DataMod.pFIBMACHPARAM.CanEdit then  DataMod.pFIBMACHPARAM.Edit;
DataMod.pFIBMACHPARAM.SetArrayValue(DataMod.pFIBMACHPARAMHIGHLIMIT,v_Highlimit);
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

normal DML Insertte bu yapılamıyor şu anda yanlış bilmiyorsam.
çünkü array için SQL standardı olması lazım vs.
ama embedded uygulamalarda 20 yıldır var.
yani C preprosesor ile yazılan programlarda insertte erray parametre sahası gönderebiliyorsun.
IBObjects componenti sanırım destekliyor array saha kullanımını.
selectlerde zaten sorun yok, select myarray[1:2] şeklinde alabiliyorsun.
dikkat etmen gereken, procedure ve triggerlar içn de de arrayler rahat kullanılamıyor. yani kısıtlı tarzda bir kullanımı var, ileride değişir.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

interbase 5 manuels, ayrıca firebird sitesindende aynı dökümanı bulabilrisiniz.

sayfa 207-216 arası
chapter 9 : using arrays

Kod: Tümünü seç

 SELECT JOB_TITLE[2:4] 
 INTO :title
 FROM EMPLOYEE
 WHERE LAST_NAME = :lname;

Kod: Tümünü seç

 UPDATE TABLE1
 SET
 CHAR_ARR[1] = :char_slice,

Kod: Tümünü seç

UPDATE TABLE1 
 SET 
 CHAR_ARR[1] = :char_slice, 
 INT_ARR[1:2,1:3] = :int_slice
 WHERE CURRENT OF TC1;
@freeman'e teşekkürler :)
.-.-.-.-.-.-.-. ^_^
Cevapla