Paradox Autoinc alan

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Paradox Autoinc alan

Mesaj gönderen sako »

Paradox ta 1 tabloda 2 adet alanı autoinc yapabilrimiyiz acaba...
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Paradox Autoinc alan

Mesaj gönderen conari »

bilemiyorum ama, yapamazsan bile ,
autoinc alanı diğer alana otomatik yazdırabilirsin.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Paradox Autoinc alan

Mesaj gönderen aslangeri »

s.a.
:Noops
pardon ben firebird anlamışım.
paradoxda autoinc alan 1 tane tanımlanır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Paradox Autoinc alan

Mesaj gönderen emin_as »

Yapamazsın, paradox sadece bir tane autoinc da izin verir. Başka gerekiyorsa, elle kodlaman lazım.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Re: Paradox Autoinc alan

Mesaj gönderen sako »

elle kodlama derken sayıyı sona göre 1 artırmak diyosunuz ama bu me kadar güvenilir olur ki.Benim yaptığıma güvenemiyorum ben:) Bu işi yapabilecek güvenilir bir kod varmı bu şekilde...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Paradox Autoinc alan

Mesaj gönderen conari »

Paradox >>trigger?
Olursa..
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Paradox Autoinc alan

Mesaj gönderen emin_as »

Zorunlu degilsen paradox kullanma, firebird ile istedigin kadar autoinc kullanabilirsin.

Eger zorunluysa, autoinc için kullanacagın degeri bir baska tabloda integer olarak tutarsın, degeri post ederken, bu tabloyu açıp, içindeki degeri diger tabloya aktarır ve bir atrırırsın. Bu degerleri tuttugun tabloyu kilitli durumda açmalısın, uzun süredir paradox kullanmıyorum, o yüzden kod yazıp, yol gösteremiyorum.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Re: Paradox Autoinc alan

Mesaj gönderen sako »

Firebirdde de sadece 1 tane autoinc alan yapabiliyorum. Yani önce generator oluşturuyorum. Sonra orma eklediğim IBDataSe nesnesinin genaratorField seçeneğiyle oluşturduğum genaratörlerden sadece birini seçebiliyorum. Dolayısıyla ancak 1 adet autoinc alanım oluyo.
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Paradox Autoinc alan

Mesaj gönderen conari »

Firebird ise trigger yaz ve
tablonun insertinde
diğer alanlara auto nuyu tekrar yazdır.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Paradox Autoinc alan

Mesaj gönderen emin_as »

Firebirdde sınırsız generator var, ibdatasetteki generator çok önemli degil, generatorleri yarat ve diledigin gibi alanları kullan.

Diyelim 3 tane jenerator un var.

oto_gen1 oto_gen2 oto_gen3

3 tane de alan var
oto1, oto2, oto3

Table adi: musteri

Kod: Tümünü seç

CREATE TRIGGER TRIGGER_ADI  FOR musteri
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
      NEW.OTO1  = GEN_ID( OTO_GEN1, 1);

      NEW.OTO2  = GEN_ID( OTO_GEN2, 1);

      NEW.OTO3  = GEN_ID( OTO_GEN3, 1);
END
Yukarıdaki trigger işini görür, aslında tüm otolarda aynı deger olacaktır. Eger bu generatorlar başka bir yerde kullanılmıyorsa, 3 de aynı degeri tutacaktır.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Re: Paradox Autoinc alan

Mesaj gönderen sako »

emin_as çok teşekkür ederim. Gösterdiğin şekilde hallettim.
Bu bu sayaçlardan birini sıfırlamak istersem nasıl bir yöntem uygulamam gerekiyor acaba...
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Paradox Autoinc alan

Mesaj gönderen emin_as »

Aşagıdaki kod oto_gen1 e 5 degerini verir.

Kod: Tümünü seç

set generator  oto_gen1  to 5 ;
Eger oto_gen1 de 5 degeri varsa ve oto_gen1 primary keyse, kaydederken sorun yaşarsın.
Aşagıdaki gibi oto_gen1 in en yüksek degerini alıp, onu bir artirarak bu degeri set generator de kullanmalısın.

Kod: Tümünü seç

select max(oto_gen1) from table
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Re: Paradox Autoinc alan

Mesaj gönderen sako »

Şimdi ben şu şekilde 2 adet autoinc alan oluşturuyorum.

Kod: Tümünü seç

      NEW.arsivno  = GEN_ID( arsivno, 1);
      NEW.musterino  = GEN_ID( musterino, 1);
Peki bu auto inc alanları başka bir tablodaki alanlara nasıl aktarabilirim. Aşağıdaki gibi yazınca hata veriyo.

Kod: Tümünü seç

      NEW.arsivno  = GEN_ID( arsivno, 1);
      NEW.musterino  = GEN_ID( musterino, 1)
ikincitablo.arsivno = GEN_ID( arsivno, 1);
ikincitablo.musterino  = GEN_ID( musterino, 1);
Aşağıdaki satırlarda bi hata var o kesin.

Kod: Tümünü seç

ikincitablo.arsivno = GEN_ID( arsivno, 1);
ikincitablo.musterino  = GEN_ID( musterino, 1);
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Cevapla